[Issue] N/A
[Bug] Bugs found by Coverity.
[Cause] N/A
[Solution] Checking varibale values, catching exception.
[Verification] Build security-server, run all tests.
Change-Id: Ide143746a4a4ccc4cc575f14cfb3529d3b32d088
}
DPL::SingleInstance instance;
- if (!instance.TryLock(DAEMON_INSTANCE_UUID)) {
- LogError("Security Daemon is already running");
+ try {
+ if (!instance.TryLock(DAEMON_INSTANCE_UUID)) {
+ LogError("Security Daemon is already running");
+ return -1;
+ }
+ } catch (const DPL::SingleInstance::Exception::LockError &e) {
+ LogError(e.DumpToString());
return -1;
}
close(fd);
ret = SECURITY_SERVER_SUCCESS;
error:
- if(fd > 0)
+ if(fd >= 0)
close(fd);
return ret;
}
#include <errno.h>
#include <signal.h>
#include <pthread.h>
+#include <limits.h>
#include "security-server-cookie.h"
#include "security-server-common.h"
/* Receive Total number of argv */
argcnum = 0;
retval = read(client_sockfd, &argcnum, sizeof(int));
- if(retval < sizeof(int))
+ if((retval < sizeof(int)) || argcnum > (UINT_MAX/sizeof(char *))-2 || argcnum < 0)
{
SEC_SVR_DBG("Error: argc recieve failed: %d", retval);
retval = send_generic_response(client_sockfd,