aboutsummaryrefslogtreecommitdiff
path: root/crypto/bio/bss_mem.c
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>2002-11-13 15:43:43 +0000
committerBen Laurie <ben@openssl.org>2002-11-13 15:43:43 +0000
commit54a656ef081f72a740c550ebd8099b40b8b5cde0 (patch)
tree9b3638b56848c7f0648b84cfa7ad056116b37a1b /crypto/bio/bss_mem.c
parent8f797f14b8ff7d3d5cb04443284259a0c94860b3 (diff)
downloadopenssl-54a656ef081f72a740c550ebd8099b40b8b5cde0.zip
openssl-54a656ef081f72a740c550ebd8099b40b8b5cde0.tar.gz
openssl-54a656ef081f72a740c550ebd8099b40b8b5cde0.tar.bz2
Security fixes brought forward from 0.9.7.
Diffstat (limited to 'crypto/bio/bss_mem.c')
-rw-r--r--crypto/bio/bss_mem.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/crypto/bio/bss_mem.c b/crypto/bio/bss_mem.c
index 28ff758..a4edb71 100644
--- a/crypto/bio/bss_mem.c
+++ b/crypto/bio/bss_mem.c
@@ -190,7 +190,7 @@ static int mem_write(BIO *b, const char *in, int inl)
BIO_clear_retry_flags(b);
blen=bm->length;
- if (BUF_MEM_grow(bm,blen+inl) != (blen+inl))
+ if (BUF_MEM_grow_clean(bm,blen+inl) != (blen+inl))
goto end;
memcpy(&(bm->data[blen]),in,inl);
ret=inl;
@@ -284,7 +284,11 @@ static int mem_gets(BIO *bp, char *buf, int size)
BIO_clear_retry_flags(bp);
j=bm->length;
- if (j <= 0) return(0);
+ if (j <= 0)
+ {
+ *buf='\0';
+ return 0;
+ }
p=bm->data;
for (i=0; i<j; i++)
{