[asterisk-commits] mmichelson: trunk r114651 - /trunk/apps/app_voicemail.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Apr 25 11:25:17 CDT 2008
Author: mmichelson
Date: Fri Apr 25 11:25:17 2008
New Revision: 114651
URL: http://svn.digium.com/view/asterisk?view=rev&rev=114651
Log:
Fix a memory leak and protect against potential dereferences of a NULL
pointer.
Modified:
trunk/apps/app_voicemail.c
Modified: trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_voicemail.c?view=diff&rev=114651&r1=114650&r2=114651
==============================================================================
--- trunk/apps/app_voicemail.c (original)
+++ trunk/apps/app_voicemail.c Fri Apr 25 11:25:17 2008
@@ -4561,11 +4561,11 @@
strncat(textfile, ".txt", sizeof(textfile) - strlen(textfile) - 1);
strncat(backup, "-bak", sizeof(backup) - strlen(backup) - 1);
- msg_cfg = ast_config_load(textfile, config_flags);
-
- *duration = 0;
- if ((duration_str = ast_variable_retrieve(msg_cfg, "message", "duration")))
+ if ((msg_cfg = ast_config_load(textfile, config_flags)) && (duration_str = ast_variable_retrieve(msg_cfg, "message", "duration"))) {
*duration = atoi(duration_str);
+ } else {
+ *duration = 0;
+ }
while ((cmd >= 0) && (cmd != 't') && (cmd != '*')) {
if (cmd)
@@ -4576,7 +4576,7 @@
prepend_duration = 0;
/* if we can't read the message metadata, stop now */
- if (!(msg_cfg = ast_config_load(textfile, config_flags))) {
+ if (!msg_cfg) {
cmd = 0;
break;
}
@@ -4631,7 +4631,8 @@
}
}
- ast_config_destroy(msg_cfg);
+ if (msg_cfg)
+ ast_config_destroy(msg_cfg);
if (already_recorded)
ast_filedelete(backup, NULL);
if (prepend_duration)
More information about the asterisk-commits
mailing list