--- embedaddon/ipsec-tools/src/racoon/isakmp_unity.c 2012/02/21 22:39:10 1.1.1.1 +++ embedaddon/ipsec-tools/src/racoon/isakmp_unity.c 2014/06/15 16:37:12 1.1.1.2 @@ -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_ipaddr) 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_ipaddr) netentry = netentry->next; } + /* trim the string to not have trailing spaces */ str[len-1]=0; return str;