aboutsummaryrefslogtreecommitdiffstats
path: root/pbx.c
diff options
context:
space:
mode:
authoranthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-27 02:26:17 +0000
committeranthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-27 02:26:17 +0000
commit64df6364cba693b131c095dfec0b9317e6a579cb (patch)
tree6dac1cac1045206ed762d1f5ce89b775f36cbe49 /pbx.c
parent159d6538555df5962137219c1591610158ec8ced (diff)
even more paranoid serialize code
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4108 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/pbx.c b/pbx.c
index c6d7e3f1e..85bd151c0 100755
--- a/pbx.c
+++ b/pbx.c
@@ -4928,14 +4928,15 @@ int pbx_builtin_serialize_variables(struct ast_channel *chan, char *buf, size_t
if (chan) {
headp=&chan->varshead;
AST_LIST_TRAVERSE(headp,variables,entries) {
- if(chan && variables && (var=ast_var_name(variables)) && (val=ast_var_value(variables))) {
+ if(chan && variables && (var=ast_var_name(variables)) && (val=ast_var_value(variables)) && !ast_strlen_zero(var) && !ast_strlen_zero(val)) {
snprintf(buf + strlen(buf), size - strlen(buf), "%s=%s\n", var, val);
if(strlen(buf) >= size) {
ast_log(LOG_ERROR,"Data Buffer Size Exceeded!\n");
break;
}
total++;
- }
+ } else
+ break;
}
}