From 80439dac049287be9aa671d39eca17aa495a5e9b Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Sun, 9 Nov 2014 00:24:53 +0000 Subject: [PATCH] addons/chan_mobile: Increase buffer size of UCS2 encoded SMS messages When UCS2 character encoding is used, one symbol in national language can be expanded to 4 bytes. The current buffer used for receiving message in do_monitor_phone is 256 bytes, which is not large enough for incoming messages. For example: * AT+CMGR phone response prefix '+CMGR: "REC UNREAD","+7**********",,"14/10/29,13:31:39+12"\r\n' - 60 bytes * SMS body with UCS2 encoding (max) - 280 bytes * AT+CMGR phone response suffix '\r\n\r\nOK\r\n' - 8 bytes * Terminating null character - 1 byte This results in a needed buffer size of 349 bytes. Hence, this patch opts for a 350 byte buffer. ASTERISK-24468 #close Reported by: Dmitriy Bubnov patches: chan_mobile-1_8.diff uploaded by Dmitriy Bubnov (License 6651) chan_mobile-trunk.diff uploaded by Dmitry Bubnov (License 6651) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@427607 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- addons/chan_mobile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/chan_mobile.c b/addons/chan_mobile.c index d6dc994d2b..3feec92881 100644 --- a/addons/chan_mobile.c +++ b/addons/chan_mobile.c @@ -3659,7 +3659,7 @@ static void *do_monitor_phone(void *data) { struct mbl_pvt *pvt = (struct mbl_pvt *)data; struct hfp_pvt *hfp = pvt->hfp; - char buf[256]; + char buf[350]; int t; at_message_t at_msg; struct msg_queue_entry *entry;