summaryrefslogtreecommitdiff
path: root/lib/gnutls_mem.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2001-08-18 21:21:30 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2001-08-18 21:21:30 +0000
commit19a95fa5c2451a474c2c42188ae8332fd20032d1 (patch)
treeaa5974f83c664c227377b2414d50ae6c2c2aed64 /lib/gnutls_mem.c
parent66de00f0d9ee21497913d5c11739a5b59216c72a (diff)
downloadgnutls-19a95fa5c2451a474c2c42188ae8332fd20032d1.tar.gz
several checks for failed allocations and other fixes
Diffstat (limited to 'lib/gnutls_mem.c')
-rw-r--r--lib/gnutls_mem.c13
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.