if(fp != NULL && size > 0)
{
ret = fread((void*)buffer, sizeof(char), size, fp);
+ buffer[ret] = '\0';
}
else
{
// run command
cmd_fp = popen(command, "r");
- _file_read(cmd_fp, buffer, BUF_SIZE);
+ if(_file_read(cmd_fp, buffer, BUF_SIZE) < 0)
+ {
+ LOGE("Failed to read input_id\n");
+ if(cmd_fp != NULL)
+ pclose(cmd_fp);
+ return ret;
+ }
+
// determine input id
if(strstr(buffer, INPUT_ID_STR_KEY)) // key
// remove previous screen capture files
remove_indir(SCREENSHOT_DIR);
- mkdir(SCREENSHOT_DIR, 0777);
+ if(mkdir(SCREENSHOT_DIR, 0777) < 0)
+ {
+ LOGE("Failed to create directory for screenshot : errno(%d)\n", errno);
+ }
+
+
#ifndef LOCALTEST
smack_lsetlabel(SCREENSHOT_DIR, "*", SMACK_LABEL_ACCESS);
#endif
return -1;
}
- chmod(serverAddrUn.sun_path, 0777);
+ if(chmod(serverAddrUn.sun_path, 0777) < 0)
+ {
+ LOGE("Failed to change mode for socket file : errno(%d)\n", errno);
+ }
+
if (-1 == listen(manager.target_server_socket, 5))
{
return -1;
}
- setsockopt(manager.host_server_socket, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
+ if(setsockopt(manager.host_server_socket,
+ SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0)
+ {
+ LOGE("Failed to set socket option : errno(%d)\n", errno);
+ }
+
memset(&serverAddrIn, 0, sizeof(serverAddrIn));
serverAddrIn.sin_family = AF_INET;
serverAddrIn.sin_addr.s_addr = htonl(INADDR_ANY);
if(unlikely(num <= 0)){
LOGE("nothing read from '%s'\n", filename);
return -1;
- }
+ } else if(num == BUFFER_MAX)
+ num -= 1;
+
buf[num] = '\0';
LOGE("Failed to read from " PROCMEMINFO "\n");
return -1;
}
+
+ if(num == BUFFER_MAX)
+ num -= 1;
+
buf[num] = '\0';
// LOGI("buffer=<%s>\n", buf);
LOGE("Failed to read from " PROCMEMINFO "\n");
return 0;
}
+
+ if(num == BUFFER_MAX)
+ num -= 1;
buf[num] = '\0';
head = buf;
{
recvLen = recv(manager.target[index].socket,
log.data, log.length, MSG_WAITALL);
- if(unlikely(recvLen != log.length)) // consume as disconnect
+ if(unlikely((recvLen == -1) || (recvLen != log.length))) // consume as disconnect
{
event = EVENT_STOP;
write(manager.target[index].event_fd, &event, sizeof(uint64_t));
//find
if (*p != ':')
break;
- for (; i < BUFFER_MAX; i++)
+ for (; i < BUFFER_MAX - 1; i++)
{
if (*p == ':' || *p == ' ' || *p == '\t')
p++;