Fix memory leak issue 21/122321/1
authorWootak Jung <wootak.jung@samsung.com>
Mon, 27 Mar 2017 04:13:12 +0000 (13:13 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Fri, 31 Mar 2017 05:15:49 +0000 (14:15 +0900)
Change-Id: I415ba5ea96980f57de49cfb1d4fcbee427d4c347

packaging/libtapi.spec
src/tapi_common.c

index e8d3c28ce60e6bdaaf1bd86bf19225c940762faa..cc83675fb3bfd079bf7771d78f0bb21d858b6547 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 8
-%define patchlevel 13
+%define patchlevel 14
 
 Name:           libtapi
 Version:        %{major}.%{minor}.%{patchlevel}
index ff12e1c261049fc0f0c2a42407f6d45cc4b19d2b..383bb43e8aae45d32b65aaeb342c1a0af533facc 100644 (file)
@@ -75,9 +75,18 @@ static void _process_sms_event(const gchar *sig, GVariant *param,
                g_variant_get(param, "(isis)", &noti.format, &sca, &msg_len, &tpdu);
 
                decoded_sca = g_base64_decode((const gchar *)sca, &decoded_sca_len);
+               if (NULL == decoded_sca) {
+                       err("g_base64_decode: Failed to decode sca");
+                       g_free(sca);
+                       g_free(tpdu);
+                       return;
+               }
                decoded_tpdu = g_base64_decode((const gchar *)tpdu, &decoded_tpdu_len);
                if (NULL == decoded_tpdu) {
                        err("g_base64_decode: Failed to decode tpdu");
+                       g_free(sca);
+                       g_free(tpdu);
+                       g_free(decoded_sca);
                        return;
                }
                dbg("ds :%d, dt : %d, ml :%d", decoded_sca_len, decoded_tpdu_len, msg_len);