summaryrefslogtreecommitdiffstats
path: root/gatchat/gatresult.c
diff options
context:
space:
mode:
authorAndrzej Zaborowski <andrew.zaborowski@intel.com>2009-11-10 07:31:31 +0100
committerDenis Kenzior <denkenz@gmail.com>2009-11-10 12:59:30 -0600
commit19187a0ee7acfbb91fac8d1be5c2a80ffb3f4028 (patch)
treead2191d6a5ab623bee10549181a83b364ce749a8 /gatchat/gatresult.c
parentb68c673d455fa04ea5aee0375350e8748039d70b (diff)
downloadofono-19187a0ee7acfbb91fac8d1be5c2a80ffb3f4028.tar.bz2
Properly skip over quoted values
Otherwise a left paren in a string can bring an obscure segfault.
Diffstat (limited to 'gatchat/gatresult.c')
-rw-r--r--gatchat/gatresult.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gatchat/gatresult.c b/gatchat/gatresult.c
index 3d07e132..688b26b3 100644
--- a/gatchat/gatresult.c
+++ b/gatchat/gatresult.c
@@ -361,6 +361,17 @@ static gint skip_until(const char *line, int start, const char delim)
if (line[i] == delim)
return i;
+ if (line[i] == '\"') {
+ i += 1;
+ while (i < len && line[i] != '\"')
+ i += 1;
+
+ if (i < len)
+ i += 1;
+
+ continue;
+ }
+
if (line[i] != '(') {
i += 1;
continue;