From 0ecd472e4f890cb932265028bca9b4c2fef562ea Mon Sep 17 00:00:00 2001 From: Matthew Jordan <mjordan@digium.com> Date: Mon, 6 Apr 2015 18:03:37 +0000 Subject: [PATCH] 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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434091 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx/pbx_config.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index 1dd09850c6..79260bbadd 100644 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -956,7 +956,9 @@ static char *handle_cli_dialplan_save(struct ast_cli_entry *e, int cmd, struct a 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 @@ static char *handle_cli_dialplan_save(struct ast_cli_entry *e, int cmd, struct a } 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", -- GitLab