2e5ed6
From a64cce9830c2e9c26e120f671b247ee71b45c888 Mon Sep 17 00:00:00 2001
2e5ed6
From: Sumit Bose <sbose@redhat.com>
2e5ed6
Date: Fri, 12 Apr 2019 17:31:41 +0200
2e5ed6
Subject: [PATCH] library: add missing strdup
2e5ed6
2e5ed6
In add_server_side_service_principals _adcli_strv_add_unique is called
2e5ed6
which only adds a string to a list without copying to. Since the
2e5ed6
original list will be freed later the value must be copied.
2e5ed6
2e5ed6
This issue was introduce with 972f1a2f35829ed89f5353bd204683aa9ad6a2d2
2e5ed6
and hence
2e5ed6
2e5ed6
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1630187
2e5ed6
---
2e5ed6
 library/adenroll.c | 3 ++-
2e5ed6
 1 file changed, 2 insertions(+), 1 deletion(-)
2e5ed6
2e5ed6
diff --git a/library/adenroll.c b/library/adenroll.c
2e5ed6
index 1cce86a..52aa8a8 100644
2e5ed6
--- a/library/adenroll.c
2e5ed6
+++ b/library/adenroll.c
2e5ed6
@@ -1987,7 +1987,8 @@ add_server_side_service_principals (adcli_enroll *enroll)
2e5ed6
 		_adcli_info ("Checking %s", spn_list[c]);
2e5ed6
 		if (!_adcli_strv_has_ex (enroll->service_principals_to_remove, spn_list[c], strcasecmp)) {
2e5ed6
 			enroll->service_principals = _adcli_strv_add_unique (enroll->service_principals,
2e5ed6
-		                                                             spn_list[c], &length, false);
2e5ed6
+			                                                     strdup (spn_list[c]),
2e5ed6
+			                                                     &length, false);
2e5ed6
 			assert (enroll->service_principals != NULL);
2e5ed6
 			_adcli_info ("   Added %s", spn_list[c]);
2e5ed6
 		}
2e5ed6
-- 
2e5ed6
2.20.1
2e5ed6