diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-28 15:35:23 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-28 15:35:23 +0000 |
commit | 7e7b82276dae7b2f51af7ab1195a2926f761aa93 (patch) | |
tree | ccd75c3d71febe30e9333c58f5acfa463b350934 /apps/app_rpt.c | |
parent | 5a0851702a9261f82de75dd7ad787c81c92370e3 (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: http://svn.digium.com/svn/asterisk/trunk@197616 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_rpt.c')
-rw-r--r-- | apps/app_rpt.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/apps/app_rpt.c b/apps/app_rpt.c index a261fc144..14414140c 100644 --- a/apps/app_rpt.c +++ b/apps/app_rpt.c @@ -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); - } + ast_free(called_number); + ast_free(lastdtmfcommand); return RESULT_SUCCESS; } } @@ -3646,8 +3646,7 @@ static int send_tone_telemetry(struct ast_channel *chan, char *tonestring) if(res) break; } - if(p) - ast_free(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,8 +3827,7 @@ static int telem_lookup(struct rpt *myrpt,struct ast_channel *chan, char *node, else{ res = -1; } - if(telemetry_save) - ast_free(telemetry_save); + ast_free(telemetry_save); return res; } @@ -3907,8 +3905,7 @@ static int get_wait_interval(struct rpt *myrpt, int type) interval = 0; break; } - if(wait_times_save) - ast_free(wait_times_save); + ast_free(wait_times_save); return interval; } |