提交 7dda9d01 authored 作者: Michael Jerris's avatar Michael Jerris

FS-8185: [core] Allow xml preprocessor to expand variables where the resulting…

FS-8185: [core] Allow xml preprocessor to expand variables where the resulting value is much longer than the original size
上级 9936846e
...@@ -1254,6 +1254,11 @@ static char *expand_vars(char *buf, char *ebuf, switch_size_t elen, switch_size_ ...@@ -1254,6 +1254,11 @@ static char *expand_vars(char *buf, char *ebuf, switch_size_t elen, switch_size_
*wp++ = *rp++; *wp++ = *rp++;
} }
if (wp == ep) {
return NULL;
}
*wp++ = '\0'; *wp++ = '\0';
*newlen = strlen(ebuf); *newlen = strlen(ebuf);
...@@ -1394,11 +1399,16 @@ static int preprocess(const char *cwd, const char *file, FILE *write_fd, int rle ...@@ -1394,11 +1399,16 @@ static int preprocess(const char *cwd, const char *file, FILE *write_fd, int rle
break; break;
} }
eblen = len *2; eblen = len * 2;
ebuf = malloc(eblen); ebuf = malloc(eblen);
memset(ebuf, 0, eblen); memset(ebuf, 0, eblen);
bp = expand_vars(buf, ebuf, eblen, &cur, &err); while (!(bp = expand_vars(buf, ebuf, eblen, &cur, &err))) {
eblen *= 2;
ebuf = realloc(ebuf, eblen);
memset(ebuf, 0, eblen);
}
line++; line++;
if (err) { if (err) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论