Fix incorrect free() usage
[mod_auth_gssapi.git] / src / crypto.c
index 54cb0c7..1983a55 100644 (file)
@@ -72,11 +72,7 @@ apr_status_t SEAL_KEY_CREATE(apr_pool_t *p, struct seal_key **skey,
 
     ret = 0;
 done:
-    if (ret) {
-        free(n->ekey);
-        free(n->hkey);
-        free(n);
-    } else {
+    if (ret == 0) {
         *skey = n;
     }
     return ret;
@@ -233,3 +229,12 @@ done:
     EVP_CIPHER_CTX_cleanup(&ctx);
     return err;
 }
+
+int get_mac_size(struct seal_key *skey)
+{
+    if (skey) {
+        return skey->md->md_size;
+    } else {
+        return 0;
+    }
+}