From 4cd19e3fe39571dc87a4cd308aca015710e684ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 21 Oct 2003 23:06:50 +0000 Subject: [PATCH] (krb5_domain_x500_encode): if num_realms == 0, set encoding and return (avoids malloc(0)), check return value for malloc git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13062 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/transited.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/krb5/transited.c b/lib/krb5/transited.c index a9b34dfc6..8cac643b5 100644 --- a/lib/krb5/transited.c +++ b/lib/krb5/transited.c @@ -368,6 +368,11 @@ krb5_domain_x500_encode(char **realms, int num_realms, krb5_data *encoding) char *s = NULL; int len = 0; int i; + if (num_realms == 0) { + encoding->data = NULL; + encoding->length = 0; + return 0; + } for(i = 0; i < num_realms; i++){ len += strlen(realms[i]); if(realms[i][0] == '/') @@ -375,6 +380,8 @@ krb5_domain_x500_encode(char **realms, int num_realms, krb5_data *encoding) } len += num_realms - 1; s = malloc(len + 1); + if (s == NULL) + return ENOMEM; *s = '\0'; for(i = 0; i < num_realms; i++){ if(i && i < num_realms - 1)