diff options
Diffstat (limited to 'audio/headset.c')
| -rw-r--r-- | audio/headset.c | 15 | 
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;  }  | 
