aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-18 16:58:03 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-18 16:58:03 +0000
commit0740578e6df8e4cb4cb49a2550f5946ceaf0e509 (patch)
tree2bbf3d469c8e0fd61393b6e8d9c2abcfac0107ce /main
parentc6e74d7f36371d508de5ec7ebcd838913c75ce1c (diff)
Merged revisions 201678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r201678 | dvossel | 2009-06-18 11:37:42 -0500 (Thu, 18 Jun 2009) | 11 lines 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: http://svn.digium.com/svn/asterisk/branches/1.6.0@201682 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/ast_expr2.c1
-rw-r--r--main/ast_expr2f.c5
-rw-r--r--main/asterisk.c3
3 files changed, 4 insertions, 5 deletions
diff --git a/main/ast_expr2.c b/main/ast_expr2.c
index b7b533e7a..037d19a6f 100644
--- a/main/ast_expr2.c
+++ b/main/ast_expr2.c
@@ -2397,6 +2397,7 @@ static void
free_value (struct val *vp)
{
if (vp==NULL) {
+ free(vp);
return;
}
if (vp->type == AST_EXPR_string || vp->type == AST_EXPR_numeric_string)
diff --git a/main/ast_expr2f.c b/main/ast_expr2f.c
index 0bd784b6c..12615ba5e 100644
--- a/main/ast_expr2f.c
+++ b/main/ast_expr2f.c
@@ -2373,7 +2373,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 );
@@ -2417,8 +2417,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);
}
diff --git a/main/asterisk.c b/main/asterisk.c
index b86587d33..95190e2cf 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -799,8 +799,7 @@ void ast_unregister_atexit(void (*func)(void))
AST_RWLIST_TRAVERSE_SAFE_END;
AST_RWLIST_UNLOCK(&atexits);
- if (ae)
- free(ae);
+ free(ae);
}
/* Sending commands from consoles back to the daemon requires a terminating NULL */