- ec->algorithm->algorithm=OBJ_nid2obj(EVP_CIPHER_type(cipher));
- return(ec->algorithm->algorithm != NULL);
+ /* Check cipher OID exists and has data in it*/
+ objtmp = OBJ_nid2obj(EVP_CIPHER_type(cipher));
+ if(!objtmp || !objtmp->data) {
+ PKCS7err(PKCS7_F_PKCS7_SET_CIPHER,PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER);
+ return(0);
+ }
+
+ ec->cipher = cipher;
+ return 1;