diff options
author | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-14 13:18:40 +0000 |
---|---|---|
committer | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-14 13:18:40 +0000 |
commit | ea0d4674a604b98a32c5f5b42f1878d3d75af9e0 (patch) | |
tree | 01f0ca16e50b44357fb29bdb18793405a071da0f /channels/chan_skinny.c | |
parent | 2e70fd87205ec4f9c775075b807c65e3703145e3 (diff) |
make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables,
and catched a few instances where this was actually done.
Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are
chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049
I may have missed some instances for modules that do not build here.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 6808d32a4..fd1dcb412 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -2847,8 +2847,10 @@ static struct skinny_device *build_device(const char *cat, struct ast_variable * if (!(sd = ast_calloc(1, sizeof(*sd)))) { return NULL; } else { - char *stringp, *exten, *context, *label; - stringp = v->value; + char buf[256]; + char *stringp = buf, *exten, *context, *label; + + ast_copy_string(buf, v->value, sizeof(buf)); exten = strsep(&stringp, ","); if ((context = strchr(exten, '@'))) { *context++ = '\0'; |