With the recent change to secasn1d.c, an empty "group"
is now decoded into an array containing only the terminating
NULL pointer. So the following assertion in
sec_pkcs7_decoder_start_digests() is no longer valid and
should be removed.
272 * Count the algorithms.
274 digcnt = 0;
275 while (digestalgs[digcnt] != NULL)
279 * No algorithms means no work to do.
280 * This is not expected, so cause an assert.
281 * But if it does happen, just act as if there were
282 * no algorithms specified.
284 PORT_Assert (digcnt != 0);
285 if (digcnt == 0)
286 return SECSuccess;
Note that the code does the right thing when digcnt is 0.
Created attachment 125364 [details] [diff] [review]
This bug is related to the fix for 174885
Patch checked into the tip (3.9), NSS_3_8_BRANCH (3.8.1),
and NSS_3_7_BRANCH (3.7.7).
Patch checked in on the NSS_3_4_BRANCH (3.4.4).