diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2009-05-28 15:35:23 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2009-05-28 15:35:23 +0000 |
commit | 98ce0e5b6c811ff8037e3267323f39a046c0badc (patch) | |
tree | ccd75c3d71febe30e9333c58f5acfa463b350934 /main | |
parent | e37ee42e6c29a22fab370b109cbc2182b4ccd386 (diff) |
Eliminate several needless checks and fix a few memory leaks
(closes issue #14833)
Reported by: contactmayankjain
Patches:
all_changes.patch uploaded by contactmayankjain (license 740)
slightly modified by me
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/astobj2.c | 8 | ||||
-rw-r--r-- | main/cli.c | 3 |
2 files changed, 5 insertions, 6 deletions
diff --git a/main/astobj2.c b/main/astobj2.c index 13e0c54b2..91ec1428c 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -342,11 +342,11 @@ void *__ao2_alloc_debug(size_t data_size, ao2_destructor_fn destructor_fn, char void *obj; FILE *refo = ref_debug ? fopen(REF_FILE,"a") : NULL; - obj = internal_ao2_alloc(data_size, destructor_fn, file, line, funcname); - - if (obj == NULL) + if ((obj = internal_ao2_alloc(data_size, destructor_fn, file, line, funcname)) == NULL) { + fclose(refo); return NULL; - + } + if (refo) { fprintf(refo, "%p =1 %s:%d:%s (%s)\n", obj, file, line, funcname, tag); fclose(refo); diff --git a/main/cli.c b/main/cli.c index 136d56a1e..1bfe263f0 100644 --- a/main/cli.c +++ b/main/cli.c @@ -235,8 +235,7 @@ static char *complete_fn(const char *word, int state) c += (strlen(ast_config_AST_MODULE_DIR) + 1); if (c) c = ast_strdup(c); - if (d) - free(d); + free(d); return c; } |