From: Geoff Thorpe Date: Sun, 4 May 2014 22:44:14 +0000 (-0400) Subject: evp: prevent underflow in base64 decoding X-Git-Tag: OpenSSL_1_0_1h~58 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=d0666f289ac013094bbbf547bfbcd616199b7d2d evp: prevent underflow in base64 decoding This patch resolves RT ticket #2608. Thanks to Robert Dugal for originally spotting this, and to David Ramos for noticing that the ball had been dropped. Signed-off-by: Geoff Thorpe --- diff --git a/crypto/evp/encode.c b/crypto/evp/encode.c index 28546a84bc..4654bdc61a 100644 --- a/crypto/evp/encode.c +++ b/crypto/evp/encode.c @@ -324,6 +324,7 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, v=EVP_DecodeBlock(out,d,n); n=0; if (v < 0) { rv=0; goto end; } + if (eof > v) { rv=-1; goto end; } ret+=(v-eof); } else