[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 619fa35..8bc3890 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 bedc094..a1345df 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;
 }