diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-18 21:21:30 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-18 21:21:30 +0000 |
commit | 19a95fa5c2451a474c2c42188ae8332fd20032d1 (patch) | |
tree | aa5974f83c664c227377b2414d50ae6c2c2aed64 /lib/gnutls_mem.c | |
parent | 66de00f0d9ee21497913d5c11739a5b59216c72a (diff) | |
download | gnutls-19a95fa5c2451a474c2c42188ae8332fd20032d1.tar.gz |
several checks for failed allocations and other fixes
Diffstat (limited to 'lib/gnutls_mem.c')
-rw-r--r-- | lib/gnutls_mem.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/gnutls_mem.c b/lib/gnutls_mem.c index 1c64409f26..7bb9a6b376 100644 --- a/lib/gnutls_mem.c +++ b/lib/gnutls_mem.c @@ -77,6 +77,19 @@ opaque* ptr = _ptr; void* gnutls_realloc( void* ptr, size_t size) { void* ret; + ret = gnutls_malloc( size); + if (ret==NULL) return ret; + + if (ptr!=NULL) { + memcpy( ret, ptr, GMIN( _gnutls_malloc_ptr_size(ptr), size)); + gnutls_free(ptr); + } + + return ret; +} + +void* gnutls_realloc_fast( void* ptr, size_t size) { +void* ret; if ( ptr != NULL && size <= _gnutls_malloc_ptr_size(ptr)) { /* do nothing, just return the pointer. * It's much faster. |