[asterisk-commits] mjordan: trunk r434092 - in /trunk: ./ pbx/pbx_config.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Apr 6 13:03:56 CDT 2015


Author: mjordan
Date: Mon Apr  6 13:03:54 2015
New Revision: 434092

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=434092
Log:
clang compiler warnings: Fix sometimes-uninitialized warning in pbx_config

This patch fixes a warning caught by clang, in which a char pointer could be
assigned to before it was initialized. The patch re-organizes the code to
ensure that the pointer is always initialized, even on off nominal paths.

Review: https://reviewboard.asterisk.org/r/4529

ASTERISK-24917
Reported by: dkdegroot
patches:
  rb4529.patch submitted by dkdegroot (License 6600)
........

Merged revisions 434090 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 434091 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/pbx/pbx_config.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/pbx/pbx_config.c
URL: http://svnview.digium.com/svn/asterisk/trunk/pbx/pbx_config.c?view=diff&rev=434092&r1=434091&r2=434092
==============================================================================
--- trunk/pbx/pbx_config.c (original)
+++ trunk/pbx/pbx_config.c Mon Apr  6 13:03:54 2015
@@ -956,7 +956,9 @@
 					const char *el = ast_get_extension_label(p);
 					char label[128] = "";
 					char *appdata = ast_get_extension_app_data(p);
-					char *escaped;
+
+					int escaped_len = (!ast_strlen_zero(appdata)) ? 2 * strlen(appdata) + 1 : 1;
+					char escaped[escaped_len];
 
 					if (ast_get_extension_matchcid(p)) {
 						sep = "/";
@@ -970,12 +972,9 @@
 					}
 
 					if (!ast_strlen_zero(appdata)) {
-						int escaped_len = 2 * strlen(appdata) + 1;
-						char escaped[escaped_len];
-
 						ast_escape_semicolons(appdata, escaped, escaped_len);
 					} else {
-						escaped = "";
+						escaped[0] = '\0';
 					}
 
 					fprintf(output, "exten => %s%s%s,%d%s,%s(%s)\n",




More information about the asterisk-commits mailing list