Fix for bug 193691 . Make QuickDER return an error rather than assert if extraneous data is present in the buffer

This commit is contained in:
jpierre%netscape.com 2003-02-19 02:29:48 +00:00
Родитель 081f5e3864
Коммит 580265aeb3
2 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -901,7 +901,11 @@ SECStatus SEC_QuickDERDecodeItem(PRArenaPool* arena, void* dest,
else
{
PORT_ArenaUnmark(arena, savpos);
PORT_Assert(0 == newsrc.len);
if (newsrc.len)
{
rv = SECFailure;
PORT_SetError(SEC_ERROR_BAD_DER_EXTRA_DATA);
}
}
}

Просмотреть файл

@ -184,8 +184,8 @@ SEC_ERROR_MODULE_STUCK = (SEC_ERROR_BASE + 135),
SEC_ERROR_BAD_TEMPLATE = (SEC_ERROR_BASE + 136),
SEC_ERROR_CRL_NOT_FOUND = (SEC_ERROR_BASE + 137),
SEC_ERROR_REUSED_ISSUER_AND_SERIAL = (SEC_ERROR_BASE + 138),
SEC_ERROR_BUSY = (SEC_ERROR_BASE + 139)
SEC_ERROR_BUSY = (SEC_ERROR_BASE + 139),
SEC_ERROR_BAD_DER_EXTRA_DATA = (SEC_ERROR_BASE + 140)
} SECErrorCodes;
#endif /* NO_SECURITY_ERROR_ENUM */