From: Pascal Cuoq Date: Mon, 12 Oct 2015 10:19:19 +0000 (+0200) Subject: BN_GF2m_mod_inv(): check bn_wexpand return value X-Git-Tag: OpenSSL_1_0_1q~27 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9f82c7b3aa125b8a91905f61836d79d96d62d5c6;p=oweals%2Fopenssl.git BN_GF2m_mod_inv(): check bn_wexpand return value Signed-off-by: Kurt Roeckx Reviewed-by: Rich Salz MR #1276, RT #4107 (cherry picked from commit 94b3664a528258df5ebcaae213d19bf6568cc47d) --- diff --git a/crypto/bn/bn_gf2m.c b/crypto/bn/bn_gf2m.c index a7a04f8ad9..8ad44b4826 100644 --- a/crypto/bn/bn_gf2m.c +++ b/crypto/bn/bn_gf2m.c @@ -700,18 +700,21 @@ int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) int top = p->top; BN_ULONG *udp, *bdp, *vdp, *cdp; - bn_wexpand(u, top); + if (!bn_wexpand(u, top)) + goto err; udp = u->d; for (i = u->top; i < top; i++) udp[i] = 0; u->top = top; - bn_wexpand(b, top); + if (!bn_wexpand(b, top)) + goto err; bdp = b->d; bdp[0] = 1; for (i = 1; i < top; i++) bdp[i] = 0; b->top = top; - bn_wexpand(c, top); + if (!bn_wexpand(c, top)) + goto err; cdp = c->d; for (i = 0; i < top; i++) cdp[i] = 0;