context->GetAppId(), context->GetTargetUid(),
context->GetCallerPid());
} else {
+ pid_t pid = -1;
auto byte = b.GetByte(AUL_K_TARGET_PID);
- pid_t pid;
- auto* p = reinterpret_cast<unsigned char*>(&pid);
- std::copy(byte.begin(), byte.begin() + sizeof(pid), p);
+ if (byte.size() == sizeof(pid)) {
+ auto* p = reinterpret_cast<unsigned char*>(&pid);
+ std::copy(byte.begin(), byte.begin() + sizeof(pid), p);
+ }
+
if (pid < 1) {
_E("Invalid process ID(%d)", pid);
return -EREJECTED;
app_status = amd::AppStatusManager::GetInst().FindWithOriginalCaller(
context->GetAppId(), context->GetTargetUid(), context->GetCallerPid());
} else {
+ pid_t pid = -1;
auto byte = b.GetByte(AUL_K_TARGET_PID);
- pid_t pid;
- auto* p = reinterpret_cast<unsigned char*>(&pid);
- std::copy(byte.begin(), byte.begin() + sizeof(pid), p);
+ if (byte.size() == sizeof(pid)) {
+ auto* p = reinterpret_cast<unsigned char*>(&pid);
+ std::copy(byte.begin(), byte.begin() + sizeof(pid), p);
+ }
+
if (pid > 0) {
app_status = amd::AppStatusManager::GetInst().Find(pid);
} else {