]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_smdi: Clean up memory leak
authorSean Bright <sean.bright@gmail.com>
Thu, 24 Aug 2017 13:35:45 +0000 (09:35 -0400)
committerSean Bright <sean.bright@gmail.com>
Thu, 24 Aug 2017 13:39:42 +0000 (08:39 -0500)
Change-Id: I1e33290929e1aa7c5b9cb513f8254f2884974de8

res/res_smdi.c

index 225a491a5879daffe9b31c7f4a278bfba67d38ba..3f779af1d4ca87102012dab5be97bcd8be67cd2e 100644 (file)
@@ -610,13 +610,12 @@ static void *smdi_read(void *iface_p)
 
                        ast_debug(1, "Read a 'D' ... it's an MD message.\n");
 
-                       if (!(md_msg = ast_calloc(1, sizeof(*md_msg)))) {
+                       md_msg = ao2_alloc(sizeof(*md_msg), NULL);
+                       if (!md_msg) {
                                ao2_ref(iface, -1);
                                return NULL;
                        }
 
-                       md_msg = ao2_alloc(sizeof(*md_msg), NULL);
-
                        /* read the message desk number */
                        for (i = 0; i < sizeof(md_msg->mesg_desk_num) - 1; i++) {
                                md_msg->mesg_desk_num[i] = fgetc(iface->file);
@@ -712,13 +711,12 @@ static void *smdi_read(void *iface_p)
 
                        ast_debug(1, "Read a 'W', it's an MWI message. (No more debug coming for MWI messages)\n");
 
-                       if (!(mwi_msg = ast_calloc(1, sizeof(*mwi_msg)))) {
+                       mwi_msg = ao2_alloc(sizeof(*mwi_msg), NULL);
+                       if (!mwi_msg) {
                                ao2_ref(iface, -1);
                                return NULL;
                        }
 
-                       mwi_msg = ao2_alloc(sizeof(*mwi_msg), NULL);
-
                        /* discard the 'I' (from 'MWI') */
                        fgetc(iface->file);