summaryrefslogtreecommitdiff
path: root/crypto/buffer
diff options
context:
space:
mode:
authorben <ben>1999-01-07 19:15:15 +0000
committerben <ben>1999-01-07 19:15:15 +0000
commite28faca04f64817bcb92cc0047fb31b42e294191 (patch)
treeb9242ab8cccfca1d64bead19939a3ce2ebac09b8 /crypto/buffer
parentef282c5f3adf1a29ca7c28a54bc0dd3e4e2790d9 (diff)
downloadopenssl-e28faca04f64817bcb92cc0047fb31b42e294191.tar.gz
Accept NULL in *_free.
Diffstat (limited to 'crypto/buffer')
-rw-r--r--crypto/buffer/buffer.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/crypto/buffer/buffer.c b/crypto/buffer/buffer.c
index df7e2fad2..b160a74a4 100644
--- a/crypto/buffer/buffer.c
+++ b/crypto/buffer/buffer.c
@@ -1,5 +1,5 @@
/* crypto/buffer/buffer.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
@@ -79,6 +79,9 @@ BUF_MEM *BUF_MEM_new()
void BUF_MEM_free(a)
BUF_MEM *a;
{
+ if(a == NULL)
+ return;
+
if (a->data != NULL)
{
memset(a->data,0,(unsigned int)a->max);
@@ -94,7 +97,11 @@ int len;
char *ret;
unsigned int n;
- if (str->length >= len) return(len);
+ if (str->length >= len)
+ {
+ str->length=len;
+ return(len);
+ }
if (str->max >= len)
{
memset(&(str->data[str->length]),0,len-str->length);
@@ -126,6 +133,8 @@ char *str;
char *ret;
int n;
+ if (str == NULL) return(NULL);
+
n=strlen(str);
ret=Malloc(n+1);
if (ret == NULL)