summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/smsutil.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/smsutil.c b/src/smsutil.c
index 1e9b471c..d1bb894e 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -4143,8 +4143,18 @@ char *cbs_decode_text(GSList *cbs_list, char *iso639_lang)
}
while (i < max_offset) {
- if (ud[i] == 0x00 && ud[i+1] == '\r')
- break;
+ if (ud[i] == 0x00 && ud[i+1] == '\r') {
+ int j = i + 2;
+
+ for (; j < max_offset; j = j + 2)
+ if (ud[j] != 0x00 ||
+ ud[j + 1] !=
+ '\r')
+ break;
+
+ if (j == max_offset)
+ break;
+ }
buf[bufsize] = ud[i];
buf[bufsize + 1] = ud[i + 1];