Merge pull request #1749 from ez-lbz/fix-node-name-map-duplicate

util: Fix duplicate node name map entries
diff --git a/util/node_name_map.c b/util/node_name_map.c
index 511cb92..3f6c96c 100644
--- a/util/node_name_map.c
+++ b/util/node_name_map.c
@@ -64,6 +64,7 @@
 {
 	cl_qmap_t *map = cxt;
 	name_map_item_t *item;
+	cl_map_item_t *inserted;
 
 	p = strtok(p, "\"#");
 	if (!p)
@@ -74,7 +75,16 @@
 		return -1;
 	item->guid = guid;
 	item->name = strdup(p);
-	cl_qmap_insert(map, item->guid, (cl_map_item_t *) item);
+	if (!item->name) {
+		free(item);
+		return -1;
+	}
+
+	inserted = cl_qmap_insert(map, item->guid, (cl_map_item_t *)item);
+	if (inserted != (cl_map_item_t *)item) {
+		free(item->name);
+		free(item);
+	}
 	return 0;
 }