summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorGeorge Joseph <gjoseph@digium.com>2017-10-11 06:03:41 -0600
committerGeorge Joseph <gjoseph@digium.com>2017-10-11 06:03:41 -0600
commitf3f141781cb7f17faa26a0a8a50fa05609a0f2b6 (patch)
treec2aa1fc747f458b452a77bad7ac29d4fabe6257c /channels
parent5a8c148dcf3898e64f279c2751a4df20dcfe11c6 (diff)
chan_vpb: Fix a gcc 7 out-of-bounds complaint
chan_vpb was trying to use sizeof(*p->play_dtmf), where p->play_dtmf is defined as char[16], to get the length of the array but since p->play_dtmf is an actual array, sizeof(*p->play_dtmf) returns the size of the first array element, which is 1. gcc7 validly complains because the context in which it's used could cause an out-of-bounds condition. Change-Id: If9c4bfdb6b02fa72d39e0c09bf88900663c000ba
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_vpb.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_vpb.cc b/channels/chan_vpb.cc
index 0f050a837..da02ff3e8 100644
--- a/channels/chan_vpb.cc
+++ b/channels/chan_vpb.cc
@@ -1785,7 +1785,7 @@ static int vpb_digit_end(struct ast_channel *ast, char digit, unsigned int durat
ast_verb(4, "%s: vpb_digit: asked to play digit[%s]\n", p->dev, s);
ast_mutex_lock(&p->play_dtmf_lock);
- strncat(p->play_dtmf, s, sizeof(*p->play_dtmf) - strlen(p->play_dtmf) - 1);
+ strncat(p->play_dtmf, s, sizeof(p->play_dtmf) - strlen(p->play_dtmf) - 1);
ast_mutex_unlock(&p->play_dtmf_lock);
ast_mutex_unlock(&p->lock);