]> 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:46 +0000 (08:39 -0500)
Change-Id: I1e33290929e1aa7c5b9cb513f8254f2884974de8

res/res_smdi.c

index e2e5b17babfa04a4fbcf7ada9c61f687e41d9fd9..7f9af5cd56e34b996299ecfa141f3de24cb9a196 100644 (file)
@@ -608,13 +608,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);
@@ -710,13 +709,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);