Use custom error codes for Domain Message parse failures

This commit is contained in:
Michael Scire 2018-06-24 19:53:20 -06:00
parent e3015307c8
commit 9b1add926c
2 changed files with 4 additions and 2 deletions

View File

@ -636,12 +636,12 @@ static inline Result ipcParseForDomain(IpcParsedCommand* r) {
case DomainMessageType_Close: case DomainMessageType_Close:
break; break;
default: default:
return 0x1A60A; return MAKERESULT(Module_Libnx, LibnxError_DomainMessageUnknownType);
} }
r->ThisObjectId = hdr->ThisObjectId; r->ThisObjectId = hdr->ThisObjectId;
r->NumObjectIds = hdr->NumObjectIds > 8 ? 8 : hdr->NumObjectIds; r->NumObjectIds = hdr->NumObjectIds > 8 ? 8 : hdr->NumObjectIds;
if ((uintptr_t)object_ids + sizeof(u32) * r->NumObjectIds - (uintptr_t)armGetTls() >= 0x100) { if ((uintptr_t)object_ids + sizeof(u32) * r->NumObjectIds - (uintptr_t)armGetTls() >= 0x100) {
return 0x1D60A; return MAKERESULT(Module_Libnx, LibnxError_DomainMessageTooManyObjectIds);
} }
for(size_t i = 0; i < r->NumObjectIds; i++) for(size_t i = 0; i < r->NumObjectIds; i++)
r->ObjectIds[i] = object_ids[i]; r->ObjectIds[i] = object_ids[i];

View File

@ -72,6 +72,8 @@ enum {
LibnxError_IncompatSysVer, LibnxError_IncompatSysVer,
LibnxError_InitFail_Time, LibnxError_InitFail_Time,
LibnxError_TooManyDevOpTabs, LibnxError_TooManyDevOpTabs,
LibnxError_DomainMessageUnknownType,
LibnxError_DomainMessageTooManyObjectIds,
}; };
/// libnx nvidia error codes /// libnx nvidia error codes