ipsec-tools: fix possible SEGV in isakmp_cfg_setenv().
Bug: 6840474
Change-Id: Ic4e20e04f3f7b3b7857f32b8b7d9e4ebc6d8a0fe
diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
index 12eb5a0..b470b54 100644
--- a/src/racoon/isakmp.c
+++ b/src/racoon/isakmp.c
@@ -3123,6 +3123,10 @@
char **newenvp;
int newenvc;
+ if (value == NULL) {
+ value = "";
+ }
+
envitem = racoon_malloc(strlen(name) + 1 + strlen(value) + 1);
if (envitem == NULL) {
plog(LLV_ERROR, LOCATION, NULL,
diff --git a/src/racoon/isakmp_unity.c b/src/racoon/isakmp_unity.c
index 99e3f3e..815367d 100644
--- a/src/racoon/isakmp_unity.c
+++ b/src/racoon/isakmp_unity.c
@@ -405,7 +405,7 @@
netentry = netentry->next;
}
- str[len-1]=0;
+ str[len]=0;
return str;
}