提交 730793be authored 作者: Michael Jerris's avatar Michael Jerris

FS-7866: [core] fix crash when running incorrect var api expansion syntax "eval…

FS-7866: [core] fix crash when running incorrect var api expansion syntax "eval ${${external_sip_ip}:4}"
上级 06b05e3b
...@@ -2365,25 +2365,26 @@ SWITCH_DECLARE(char *) switch_event_expand_headers_check(switch_event_t *event, ...@@ -2365,25 +2365,26 @@ SWITCH_DECLARE(char *) switch_event_expand_headers_check(switch_event_t *event,
} }
} }
if (offset || ooffset) { if (sub_val) {
cloned_sub_val = strdup(sub_val); if (offset || ooffset) {
switch_assert(cloned_sub_val); cloned_sub_val = strdup(sub_val);
sub_val = cloned_sub_val; switch_assert(cloned_sub_val);
} sub_val = cloned_sub_val;
}
if (offset >= 0) { if (offset >= 0) {
sub_val += offset; sub_val += offset;
} else if ((size_t) abs(offset) <= strlen(sub_val)) { } else if ((size_t) abs(offset) <= strlen(sub_val)) {
sub_val = cloned_sub_val + (strlen(cloned_sub_val) + offset); sub_val = cloned_sub_val + (strlen(cloned_sub_val) + offset);
} }
if (ooffset > 0 && (size_t) ooffset < strlen(sub_val)) { if (ooffset > 0 && (size_t) ooffset < strlen(sub_val)) {
if ((ptr = (char *) sub_val + ooffset)) { if ((ptr = (char *) sub_val + ooffset)) {
*ptr = '\0'; *ptr = '\0';
}
} }
} }
switch_safe_free(expanded); switch_safe_free(expanded);
} else { } else {
switch_stream_handle_t stream = { 0 }; switch_stream_handle_t stream = { 0 };
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论