--- eng_cryptodev.c.orig	2012-12-16 13:41:49.948556585 -0800
+++ eng_cryptodev.c	2012-12-16 13:46:14.780548132 -0800
@@ -1001,11 +1001,19 @@
 
 	if (r) {
 		kop->crk_param[kop->crk_iparams].crp_p = calloc(rlen, sizeof(char));
+                if (kop->crk_param[kop->crk_iparams].crp_p == NULL) {
+                        printf("cryptodev_asym: Can't allocate memory via calloc() \n");
+                        return (ret);
+                }
 		kop->crk_param[kop->crk_iparams].crp_nbits = rlen * 8;
 		kop->crk_oparams++;
 	}
 	if (s) {
 		kop->crk_param[kop->crk_iparams+1].crp_p = calloc(slen, sizeof(char));
+                if (kop->crk_param[kop->crk_iparams+1].crp_p == NULL) {
+                        printf("cryptodev_asym: Can't allocate memory via calloc() \n");
+                        return (ret);
+                }
 		kop->crk_param[kop->crk_iparams+1].crp_nbits = slen * 8;
 		kop->crk_oparams++;
 	}
