Don't use a buffer after it goes out of scope.

's' is set to 'workspace'.  Make sure 'workspace' doesn't go out of scope while
the reference to it via 's' is still used.
........

Merged revisions 359056 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 359057 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/11.2
Russell Bryant 14 years ago
parent 14edd30fd2
commit 6ec5c103d6

@ -3257,6 +3257,7 @@ const char *ast_str_retrieve_variable(struct ast_str **str, ssize_t maxlen, stru
int offset, length; int offset, length;
int i, need_substring; int i, need_substring;
struct varshead *places[2] = { headp, &globals }; /* list of places where we may look */ struct varshead *places[2] = { headp, &globals }; /* list of places where we may look */
char workspace[20];
if (c) { if (c) {
ast_channel_lock(c); ast_channel_lock(c);
@ -3352,7 +3353,6 @@ const char *ast_str_retrieve_variable(struct ast_str **str, ssize_t maxlen, stru
} else if (!strcmp(var, "ASTLOGDIR")) { } else if (!strcmp(var, "ASTLOGDIR")) {
s = ast_config_AST_LOG_DIR; s = ast_config_AST_LOG_DIR;
} else if (!strcmp(var, "ENTITYID")) { } else if (!strcmp(var, "ENTITYID")) {
char workspace[20];
ast_eid_to_str(workspace, sizeof(workspace), &ast_eid_default); ast_eid_to_str(workspace, sizeof(workspace), &ast_eid_default);
s = workspace; s = workspace;
} }

Loading…
Cancel
Save