summaryrefslogtreecommitdiffstats
path: root/audio/headset.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/headset.c')
-rw-r--r--audio/headset.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/audio/headset.c b/audio/headset.c
index 31955490..a4fe84fe 100644
--- a/audio/headset.c
+++ b/audio/headset.c
@@ -785,7 +785,20 @@ int telephony_dial_number_rsp(void *telephony_device, cme_error_t err)
static int dial_number(struct audio_device *device, const char *buf)
{
- telephony_dial_number_req(device, &buf[3]);
+ char number[BUF_SIZE];
+ size_t buf_len;
+
+ buf_len = strlen(buf);
+
+ if (buf[buf_len - 1] != ';') {
+ debug("Rejecting non-voice call dial request");
+ return -EINVAL;
+ }
+
+ memset(number, 0, sizeof(number));
+ strncpy(number, &buf[3], buf_len - 4);
+
+ telephony_dial_number_req(device, number);
return 0;
}