From 2592538e9d0279feb5ed09b2e3a5b71a89e9f0e6 Mon Sep 17 00:00:00 2001 From: amalec Date: Thu, 25 Oct 2001 22:25:11 +0000 Subject: [PATCH] Fix packing of NULL strings (causing problems under Solaris) git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@112 64e312b2-a51f-0410-8e61-82d0ca0eb02a --- check/src/check_pack.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/check/src/check_pack.c b/check/src/check_pack.c index ceb7647..8c58cd3 100644 --- a/check/src/check_pack.c +++ b/check/src/check_pack.c @@ -138,22 +138,26 @@ static void pack_str (char **buf, char *val) strsz = strlen (val) + 1; pack_int(buf,strsz); - n = sprintf (*buf, "%s", val); - - *buf += n + 1; + if (strsz > 0) { + n = sprintf (*buf, "%s", val); + *buf += n + 1; + } + } static char *upack_str (char **buf) { - char *val; + char *val = NULL; int strsz; val = emalloc (CK_MAXMSG); strsz = upack_int (buf); - - strncpy (val, *buf, strsz); - *buf += strsz; + + if (strsz > 0) { + strncpy (val, *buf, strsz); + *buf += strsz; + } return val; } -- 2.40.0