manager_tone() converts all tone chars to uppercase. Since everywhere we
check for both 'p' and 'P' for a pause, tone_queue() should also check
both before claiming the string is invalid.
---
src/voicecall.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/voicecall.c b/src/voicecall.c
index cb5258d..4932ffa 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -287,8 +287,9 @@ static int tone_queue(struct ofono_voicecall *vc, const
char *tone_str,
*/
for (i = 0; tone_str[i]; i++)
if (!g_ascii_isdigit(tone_str[i]) && tone_str[i] != 'p' &&
- tone_str[i] != '*' && tone_str[i] != '#' &&
- (tone_str[i] < 'A' || tone_str[i] > 'D'))
+ tone_str[i] != 'P' && tone_str[i] != '*' &&
+ tone_str[i] != '#' && (tone_str[i] < 'A' ||
+ tone_str[i] > 'D'))
return -EINVAL;
while ((entry = g_queue_peek_nth(vc->toneq, n++)) != NULL)
--
1.7.4.1
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono