- remove insane heap walk and kernel loading code; clean up style and calling conventions
[openssl.git] / crypto / dsa / dsa_meth.c
index 57bc9f0971856d0c987135daaa425662f76537a4..1d27ceae1ce11ee0735cb3687f9863f2296cdb59 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "dsa_locl.h"
 #include <string.h>
+#include <openssl/err.h>
 
 DSA_METHOD *DSA_meth_new(const char *name, int flags)
 {
@@ -26,6 +27,7 @@ DSA_METHOD *DSA_meth_new(const char *name, int flags)
         dsam->name = OPENSSL_strdup(name);
         if (dsam->name == NULL) {
             OPENSSL_free(dsam);
+            DSAerr(DSA_F_DSA_METH_NEW, ERR_R_MALLOC_FAILURE);
             return NULL;
         }
         dsam->flags = flags;
@@ -37,8 +39,7 @@ DSA_METHOD *DSA_meth_new(const char *name, int flags)
 void DSA_meth_free(DSA_METHOD *dsam)
 {
     if (dsam != NULL) {
-        if (dsam->name != NULL)
-            OPENSSL_free(dsam->name);
+        OPENSSL_free(dsam->name);
         OPENSSL_free(dsam);
     }
 }
@@ -54,6 +55,7 @@ DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam)
         ret->name = OPENSSL_strdup(dsam->name);
         if (ret->name == NULL) {
             OPENSSL_free(ret);
+            DSAerr(DSA_F_DSA_METH_DUP, ERR_R_MALLOC_FAILURE);
             return NULL;
         }
     }
@@ -71,8 +73,10 @@ int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name)
     char *tmpname;
 
     tmpname = OPENSSL_strdup(name);
-    if (tmpname == NULL)
+    if (tmpname == NULL) {
+        DSAerr(DSA_F_DSA_METH_SET1_NAME, ERR_R_MALLOC_FAILURE);
         return 0;
+    }
 
     OPENSSL_free(dsam->name);
     dsam->name = tmpname;