EVP_{CIPHER,MD}_CTX_ctrl(): make sure to return 0 or 1
[openssl.git] / crypto / evp / digest.c
index 4f6b68c667842eddee9a60155d33fe860ca1d3e8..fa1dfa7303a0b65538704dd532c60c442b4c1c9b 100644 (file)
@@ -665,7 +665,7 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)
         ret = EVP_MD_CTX_set_params(ctx, params);
     else
         ret = EVP_MD_CTX_get_params(ctx, params);
-    return ret;
+    goto conclude;
 
 
 /* TODO(3.0): Remove legacy code below */
@@ -676,6 +676,7 @@ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)
     }
 
     ret = ctx->digest->md_ctrl(ctx, cmd, p1, p2);
+ conclude:
     if (ret <= 0)
         return 0;
     return ret;