[Title] fix the memory and socket leak risk
authorSooyoung Ha <yoosah.ha@samsung.com>
Sat, 12 Jan 2013 09:18:36 +0000 (18:18 +0900)
committerSooyoung Ha <yoosah.ha@samsung.com>
Sat, 12 Jan 2013 09:18:36 +0000 (18:18 +0900)
[Desc.] modify vmodem/transport/transport_onedram.c

packaging/vmodemd-emul.spec
vmodem/transport/transport_onedram.c

index 619fa35db43f9186bd10caff27c8791922baa350..8bc3890af41f9fc862c5343ae890330d14b4eed2 100644 (file)
@@ -1,6 +1,6 @@
 #git:slp/pkgs/v/vmodem-daemon-emulator
 Name: vmodemd-emul
-Version: 0.2.28
+Version: 0.2.29
 Release: 1
 Summary: Modem Emulator
 Group: System/ModemEmulator
index bedc0946333b4fd66dd8a8614f40b75d7022fc91..a1345df44953e7d401af730b76cbe5400d6ee1b8 100644 (file)
@@ -239,6 +239,8 @@ int UART_PSI_load (void)
        
        /* Read PSI from AP */
        data_buffer = (unsigned char *)malloc(data_len);
+       if(!data_buffer)
+               goto error;
        bzero((char *)data_buffer, data_len);
 
        nCRC = 0;
@@ -281,12 +283,16 @@ int UART_PSI_load (void)
        }
 
        /* Finish the downloading of PSI*/
-       close(AT_socket);       
+       close(AT_socket);
+       if(data_buffer)
+               free(data_buffer);
        return 1;
        
 error:
-       if(AT_socket > 0)
+       if(AT_socket >= 0)
                close(AT_socket);
+       if(data_buffer)
+               free(data_buffer);
        return 0;
 }