Author: mjordan
Date: Mon Apr  6 13:03:37 2015
New Revision: 434091

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=434091
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

Modified:
    branches/13/   (props changed)
    branches/13/pbx/pbx_config.c

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

Modified: branches/13/pbx/pbx_config.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/pbx/pbx_config.c?view=diff&rev=434091&r1=434090&r2=434091
==============================================================================
--- branches/13/pbx/pbx_config.c (original)
+++ branches/13/pbx/pbx_config.c Mon Apr  6 13:03:37 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",


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to