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
This commit is contained in:
Tilghman Lesher
2009-05-28 15:35:23 +00:00
parent e37ee42e6c
commit 98ce0e5b6c
5 changed files with 16 additions and 23 deletions

View File

@@ -1957,7 +1957,11 @@ unsigned int seq;
if (!myrpt->p.statpost_url) return;
str = ast_malloc(strlen(pairs) + strlen(myrpt->p.statpost_url) + 200);
astr = ast_strdup(myrpt->p.statpost_program);
if ((!str) || (!astr)) return;
if ((!str) || (!astr)) {
ast_free(str);
ast_free(astr);
return;
}
n = finddelim(astr,astrs,100);
if (n < 1) return;
ast_mutex_lock(&myrpt->statpost_lock);
@@ -2895,12 +2899,8 @@ static int rpt_do_stats(int fd, int argc, char *argv[])
for(j = 0; j < numoflinks; j++){ /* ast_free() all link names */
ast_free(listoflinks[j]);
}
if(called_number){
ast_free(called_number);
}
if(lastdtmfcommand){
ast_free(lastdtmfcommand);
}
return RESULT_SUCCESS;
}
}
@@ -3646,7 +3646,6 @@ static int send_tone_telemetry(struct ast_channel *chan, char *tonestring)
if(res)
break;
}
if(p)
ast_free(p);
if(!res)
res = play_tone_pair(chan, 0, 0, 100, 0); /* This is needed to ensure the last tone segment is timed correctly */
@@ -3828,7 +3827,6 @@ static int telem_lookup(struct rpt *myrpt,struct ast_channel *chan, char *node,
else{
res = -1;
}
if(telemetry_save)
ast_free(telemetry_save);
return res;
}
@@ -3907,7 +3905,6 @@ static int get_wait_interval(struct rpt *myrpt, int type)
interval = 0;
break;
}
if(wait_times_save)
ast_free(wait_times_save);
return interval;
}

View File

@@ -838,7 +838,6 @@ static char *cli_console_dial(struct ast_cli_entry *e, int cmd, struct ast_cli_a
} else
ast_cli(a->fd, "No such extension '%s' in context '%s'\n", mye, myc);
if (s)
free(s);
unref_pvt(pvt);

View File

@@ -10183,8 +10183,6 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf,
if (!here && reloading != 1) {
if (!(tmp = ast_calloc(1, sizeof(*tmp)))) {
if (tmp)
free(tmp);
return NULL;
}
ast_mutex_init(&tmp->lock);

View File

@@ -342,10 +342,10 @@ 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);

View File

@@ -235,7 +235,6 @@ 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);
return c;