From 203072d917d746604039e8e3df13e88b59a1e27d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 7 Mar 2006 19:34:55 +0000 Subject: [PATCH] (decrypt_*): handle the case where the plaintext is 0 bytes long, realloc might then return NULL. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16787 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/crypto.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index cf19d6452..65358d14f 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -3414,7 +3414,7 @@ decrypt_internal_derived(krb5_context context, l = len - et->confoundersize; memmove(p, p + et->confoundersize, l); result->data = realloc(p, l); - if(result->data == NULL) { + if(result->data == NULL && l != 0) { free(p); krb5_set_error_string(context, "malloc: out of memory"); return ENOMEM; @@ -3479,7 +3479,7 @@ decrypt_internal(krb5_context context, l = len - et->confoundersize - checksum_sz; memmove(p, p + et->confoundersize + checksum_sz, l); result->data = realloc(p, l); - if(result->data == NULL) { + if(result->data == NULL && l != 0) { free(p); krb5_set_error_string(context, "malloc: out of memory"); return ENOMEM; @@ -3523,7 +3523,7 @@ decrypt_internal_special(krb5_context context, memmove (p, p + cksum_sz + et->confoundersize, sz); result->data = realloc(p, sz); - if(result->data == NULL) { + if(result->data == NULL && sz != 0) { free(p); krb5_set_error_string(context, "malloc: out of memory"); return ENOMEM;