summaryrefslogtreecommitdiff
path: root/main/pbx.c
diff options
context:
space:
mode:
authorScott Griepentrog <sgriepentrog@digium.com>2014-01-22 22:24:39 +0000
committerScott Griepentrog <sgriepentrog@digium.com>2014-01-22 22:24:39 +0000
commit64e2e1d5d85b3885c0ac1753030e34d6bc2a1d2d (patch)
tree8271bc3d5fd8cf92d67d08e22c55879504f1d775 /main/pbx.c
parent3e6c4a6f8964474cb16442a91120b6c3a7d697c8 (diff)
pbx.c: Pre-initialize timezone to avoid crash on destroy
In ast_build_timing, initialize the timezone value to NULL in order to avoid deferencing an uninitialized value later when calling ast_destroy_timing. The timezone value could be uninitialized if ast_build_timing were to fail due to a zero length time string. (closes issue ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review: https://reviewboard.asterisk.org/r/3134/ Patches: ast_build_timing-initialize-timezone.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 406241 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 406245 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 406264 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@406269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/main/pbx.c b/main/pbx.c
index ae857e9b3..19db8b248 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -9167,6 +9167,8 @@ int ast_build_timing(struct ast_timing *i, const char *info_in)
char *info;
int j, num_fields, last_sep = -1;
+ i->timezone = NULL;
+
/* Check for empty just in case */
if (ast_strlen_zero(info_in)) {
return 0;
@@ -9186,8 +9188,6 @@ int ast_build_timing(struct ast_timing *i, const char *info_in)
/* save the timezone, if it is specified */
if (num_fields == 5) {
i->timezone = ast_strdup(info + last_sep + 1);
- } else {
- i->timezone = NULL;
}
/* Assume everything except time */