DEBUG: added null checking & some minor refactoring
authorJinhyung Choi <jinhyung2.choi@samsung.com>
Tue, 16 Dec 2014 06:01:24 +0000 (15:01 +0900)
committerJinhyung Choi <jinhyung2.choi@samsung.com>
Tue, 16 Dec 2014 06:01:24 +0000 (15:01 +0900)
Change-Id: I7597a8f92555b2d74fbedfd928546306eee6d772
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
packaging/emuld.spec
src/common.cpp
src/emuld.cpp
src/evdi.cpp
src/mobile_dev.cpp

index 2cc725d023b2e1508fd417b0efb279f645073c5a..b1b0e559ebc31cd050e9db378c3518250b4e2697 100644 (file)
@@ -1,5 +1,5 @@
 Name: emuld
-Version: 0.8.1
+Version: 0.8.2
 Release: 0
 Summary: Emulator daemon
 License: Apache-2.0
index 5b186e834ea86db9e0eaac8c6f1ddd3da2cf6eb9..fc20e83300eb4d9e6c25fc70b7ffc52a20675d2f 100644 (file)
@@ -142,29 +142,20 @@ void msgproc_suspend(int fd, ijcommand* ijcmd)
 
 void send_default_suspend_req(void)
 {
-    LXT_MESSAGE* packet = (LXT_MESSAGE*)malloc(sizeof(LXT_MESSAGE));
-    if(packet == NULL){
-        return;
-    }
-    memset(packet, 0, sizeof(LXT_MESSAGE));
-
-    packet->length = 0;
-    packet->group = 5;
-    packet->action = 15;
-
-    int tmplen = HEADER_SIZE;
-    char* tmp = (char*) malloc(tmplen);
+       int group = 5;
+       int action = 15;
+    char* tmp = (char*) malloc(HEADER_SIZE);
     if (!tmp)
         return;
 
-    memcpy(tmp, packet, HEADER_SIZE);
+       memset(tmp, 0, HEADER_SIZE);
+       memcpy(tmp + 2, &group, 1);
+       memcpy(tmp + 3, &action , 1);
 
-    ijmsg_send_to_evdi(g_fd[fdtype_device], IJTYPE_SUSPEND, (const char*) tmp, tmplen);
+    ijmsg_send_to_evdi(g_fd[fdtype_device], IJTYPE_SUSPEND, (const char*) tmp, HEADER_SIZE);
 
     if (tmp)
         free(tmp);
-    if (packet)
-        free(packet);
 }
 
 
index bb8ce4195efdb609bb1c7edf5b465dd25a1311eb..aba365ea74821947afe0d9718ee44874c401363c 100644 (file)
@@ -138,8 +138,11 @@ static int read_header(int fd, LXT_MESSAGE* packet)
 {
     char* readbuf = NULL;
     int readed = recv_data(fd, &readbuf, HEADER_SIZE);
-    if (readed <= 0)
+    if (readed <= 0){
+               if (readbuf)
+                       free(readbuf);
         return 0;
+       }
     memcpy((void*) packet, (void*) readbuf, HEADER_SIZE);
 
     if (readbuf)
index 16526ba351ff26987b6b9444845dfd9d02b0918a..b64836ce9ba6a5dc2e5b9153f7e68ab6136015d7 100644 (file)
@@ -43,9 +43,8 @@ evdi_fd open_device(void)
     fd = open(DEVICE_NODE_PATH, O_RDWR); //O_CREAT|O_WRONLY|O_TRUNC.
     LOGDEBUG("evdi open fd is %d", fd);
 
-    if (fd <= 0) {
+    if (fd < 0) {
         LOGERR("open %s fail", DEVICE_NODE_PATH);
-        return fd;
     }
 
     return fd;
@@ -76,7 +75,7 @@ bool init_device(evdi_fd* ret_fd)
     *ret_fd = -1;
 
     fd = open_device();
-    if (fd <= 0)
+    if (fd < 0)
         return false;
 
     if (!set_nonblocking(fd))
@@ -122,7 +121,7 @@ bool ijmsg_send_to_evdi(evdi_fd fd, const char* cat, const char* data, const int
 
     char tmp[ID_SIZE];
     memset(tmp, 0, ID_SIZE);
-    strncpy(tmp, cat, 10);
+    strncpy(tmp, cat, ID_SIZE - 1);
 
     // TODO: need to make fragmented transmission
     if (len + ID_SIZE > __MAX_BUF_SIZE) {
index 67372b8094f17ccea3ffa778e796a91d5419b64a..1bef0fa0d2d7c0b635d2b58285b4ff64a02a3f51 100644 (file)
@@ -540,11 +540,8 @@ static void* getting_sensor(void* data)
         free(msg);
         msg = 0;
     }
-    if (packet)
-    {
-        free(packet);
-        packet = NULL;
-    }
+
+    free(packet);
 
     if (param)
         delete param;