fixes some memory leaks and redundant conditions

(closes issue #15269)
Reported by: contactmayankjain
Patches:
      patch.txt uploaded by contactmayankjain (license 740)
      memory_leak_stuff.trunk.diff uploaded by dvossel (license 671)
Tested by: contactmayankjain, dvossel




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David Vossel
2009-06-18 16:37:42 +00:00
parent 730e60e583
commit dcfe69ec64
15 changed files with 43 additions and 60 deletions

View File

@@ -2379,7 +2379,7 @@ int ast_yyerror(const char *, YYLTYPE *, struct parse_io *); /* likewise */
void ast_yyfree(void *ptr, yyscan_t yyscanner)
{
if (ptr) /* the normal generated ast_yyfree func just frees its first arg;
/* the normal generated ast_yyfree func just frees its first arg;
this get complaints on some systems, as sometimes this
arg is a nil ptr! It's usually not fatal, but is irritating! */
free( (char *) ptr );
@@ -2416,8 +2416,7 @@ int ast_expr(char *expr, char *buf, int length, struct ast_channel *chan)
else
buf[0] = 0;
return_value = strlen(buf);
if (io.val->u.s)
free(io.val->u.s);
free(io.val->u.s);
}
free(io.val);
}