Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/crypto/dist/ipsec-tools/src/racoon/isakmp_unity.c,v retrieving revision 1.9 retrieving revision 1.9.18.1 diff -u -p -r1.9 -r1.9.18.1 --- ipsec-tools/src/racoon/isakmp_unity.c 2007/10/19 03:37:19 1.9 +++ ipsec-tools/src/racoon/isakmp_unity.c 2012/01/01 17:32:04 1.9.18.1 @@ -1,4 +1,4 @@ -/* $NetBSD: isakmp_unity.c,v 1.9 2007/10/19 03:37:19 manu Exp $ */ +/* $NetBSD: isakmp_unity.c,v 1.9.18.1 2012/01/01 17:32:04 tteras Exp $ */ /* Id: isakmp_unity.c,v 1.10 2006/07/31 04:49:23 manubsd Exp */ @@ -387,8 +387,9 @@ char * splitnet_list_2str(list, splitnet netentry = netentry->next; } - /* allocate network list string */ - str = racoon_malloc(len); + /* allocate network list string; we need the extra byte temporarily + * as sprintf() will write trailing 0-byte after the space. */ + str = racoon_malloc(len + 1); if (str == NULL) return NULL; @@ -414,6 +415,7 @@ char * splitnet_list_2str(list, splitnet netentry = netentry->next; } + /* trim the string to not have trailing spaces */ str[len-1]=0; return str;