diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/ast_expr2.c | 1 | ||||
-rw-r--r-- | main/ast_expr2f.c | 5 | ||||
-rw-r--r-- | main/asterisk.c | 3 |
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 */ |