Fix failure to check result of bn_rshift_fixed_top
[openssl.git] / crypto / bn / bn_div.c
index 25514c05f11137afcf2f46ccd332ee61bac9eceb..ec6c532e4e66736fe18640b1af6a82a9ad5bd5e9 100644 (file)
@@ -446,8 +446,10 @@ int bn_div_fixed_top(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
     snum->neg = num_neg;
     snum->top = div_n;
     snum->flags |= BN_FLG_FIXED_TOP;
-    if (rm != NULL)
-        bn_rshift_fixed_top(rm, snum, norm_shift);
+
+    if (rm != NULL && bn_rshift_fixed_top(rm, snum, norm_shift) == 0)
+        goto err;
+
     BN_CTX_end(ctx);
     return 1;
  err: