Handle decoding of one CMS structure inside another. Plain data as the top-level item in a message needs work. diff -ur ./mozilla/security/nss/lib/smime/cmsdecode.c ./mozilla/security/nss/lib/smime/cmsdecode.c --- ./mozilla/security/nss/lib/smime/cmsdecode.c 2010-12-23 13:03:41.000000000 -0500 +++ ./mozilla/security/nss/lib/smime/cmsdecode.c 2011-01-12 15:22:22.245908999 -0500 @@ -307,6 +307,9 @@ if (childp7dcx->content.pointer == NULL) goto loser; + /* give the parent a copy of the pointer so that it doesn't get lost */ + cinfo->content.pointer = childp7dcx->content.pointer; + /* start the child decoder */ childp7dcx->dcx = SEC_ASN1DecoderStart(poolp, childp7dcx->content.pointer, template);