$OpenBSD: patch-src_keyfileutils_c,v 1.1 2018/04/24 19:34:45 ajacoutot Exp $

From d281ed4b9db22ff9e4c7e56b5cce58a72d11fc54 Mon Sep 17 00:00:00 2001
From: Pascal Terjan <pterjan@google.com>
Date: Wed, 17 Aug 2016 21:52:48 -0400
Subject: Fix missing ; when appending to a list not ending with one

Index: src/keyfileutils.c
--- src/keyfileutils.c.orig
+++ src/keyfileutils.c
@@ -187,9 +187,14 @@ dfu_key_file_merge_list (GKeyFile   *keyfile,
 
   value = g_key_file_get_value (keyfile, group, key, NULL);
 
-  if (value)
-    str = g_strconcat (value, to_merge, ";", NULL);
-  else
+  if (value) {
+    size_t len = strlen (value);
+    if (len > 0 && value[len - 1] != ';') {
+      str = g_strconcat (value, ";", to_merge, ";", NULL);
+    } else {
+      str = g_strconcat (value, to_merge, ";", NULL);
+    }
+  } else
     str = g_strconcat (to_merge, ";", NULL);
 
   g_key_file_set_value (keyfile, group, key, str);
