error checking bugfix for sceNpTrophyCreateContext

options = 1 is allowed.
This commit is contained in:
Eladash 2019-10-15 17:04:22 +03:00 committed by Ivan
parent b03c2fc856
commit 4ed2c7b594
2 changed files with 9 additions and 4 deletions

View File

@ -232,12 +232,12 @@ error_code sceNpTrophyCreateContext(vm::ptr<u32> context, vm::cptr<SceNpCommunic
return SCE_NP_TROPHY_ERROR_NOT_INITIALIZED;
}
if (!context || !commId)
if (!context || !commId || !commSign)
{
return SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT;
}
if (options > 0)
if (options > SCE_NP_TROPHY_OPTIONS_CREATE_CONTEXT_READ_ONLY)
{
return SCE_NP_TROPHY_ERROR_NOT_SUPPORTED;
}
@ -253,8 +253,8 @@ error_code sceNpTrophyCreateContext(vm::ptr<u32> context, vm::cptr<SceNpCommunic
sceNpTrophy.warning("sceNpTrophyCreateContext term=%s data=%s num=%d", commId->term, commId->data, commId->num);
if (commId->term)
{
char trimchar[10] = { 0 };
memcpy(trimchar, commId->data, sizeof(trimchar) - 1);
char trimchar[10];
strcpy_trunc(trimchar, commId->data);
deleteTerminateChar(trimchar, commId->term);
name = fmt::format("%s_%02d", trimchar, commId->num);
}

View File

@ -76,6 +76,11 @@ enum SceNpTrophyGrade
SCE_NP_TROPHY_GRADE_BRONZE = 4,
};
enum
{
SCE_NP_TROPHY_OPTIONS_CREATE_CONTEXT_READ_ONLY = 1,
};
struct SceNpTrophyGameDetails
{
be_t<u32> numTrophies;