diff options
Diffstat (limited to 'pbx/dundi-parser.c')
-rw-r--r-- | pbx/dundi-parser.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/pbx/dundi-parser.c b/pbx/dundi-parser.c index 3c57442a4..418a28c58 100644 --- a/pbx/dundi-parser.c +++ b/pbx/dundi-parser.c @@ -512,8 +512,10 @@ int dundi_ie_append_cause(struct dundi_ie_data *ied, unsigned char ie, unsigned ied->buf[ied->pos++] = ie; ied->buf[ied->pos++] = datalen; ied->buf[ied->pos++] = cause; - memcpy(ied->buf + ied->pos, data, datalen-1); - ied->pos += datalen-1; + if (data) { + memcpy(ied->buf + ied->pos, data, datalen-1); + ied->pos += datalen-1; + } return 0; } @@ -531,8 +533,10 @@ int dundi_ie_append_hint(struct dundi_ie_data *ied, unsigned char ie, unsigned s flags = htons(flags); memcpy(ied->buf + ied->pos, &flags, sizeof(flags)); ied->pos += 2; - memcpy(ied->buf + ied->pos, data, datalen-1); - ied->pos += datalen-2; + if (data) { + memcpy(ied->buf + ied->pos, data, datalen-2); + ied->pos += datalen-2; + } return 0; } |