Fix warning for rkp_factory_extraction_tool

The empty string was handled as a value. Also, the unit test that tested
this functionality was fixed.

Bug: 377389989
Test: atest system/security/provisioner
Test: m rkp_factory_extraction_tool
Test: adb push rkp_factory_extraction_tool /data
Test: adb shell adb shell /data/rkp_factory_extraction_tool
Test: The above command does not produce a warning.
Change-Id: Ifd12bb43956be00efce0b45656da6d65e19c02fa
diff --git a/provisioner/rkp_factory_extraction_lib.cpp b/provisioner/rkp_factory_extraction_lib.cpp
index d4aed45..a87aa40 100644
--- a/provisioner/rkp_factory_extraction_lib.cpp
+++ b/provisioner/rkp_factory_extraction_lib.cpp
@@ -261,7 +261,9 @@
     while (ss.good()) {
         std::string name;
         std::getline(ss, name, ',');
-        result.insert(name);
+        if (!name.empty()) {
+            result.insert(name);
+        }
     }
     return result;
 }
\ No newline at end of file
diff --git a/provisioner/rkp_factory_extraction_lib.h b/provisioner/rkp_factory_extraction_lib.h
index 2c1e2ff..3515f48 100644
--- a/provisioner/rkp_factory_extraction_lib.h
+++ b/provisioner/rkp_factory_extraction_lib.h
@@ -27,6 +27,7 @@
 #include <vector>
 
 // Parse a comma-delimited string.
+// Ignores any empty strings.
 std::unordered_set<std::string> parseCommaDelimited(const std::string& input);
 
 // Challenge size must be between 32 and 64 bytes inclusive.
diff --git a/provisioner/rkp_factory_extraction_lib_test.cpp b/provisioner/rkp_factory_extraction_lib_test.cpp
index 746ce41..702be63 100644
--- a/provisioner/rkp_factory_extraction_lib_test.cpp
+++ b/provisioner/rkp_factory_extraction_lib_test.cpp
@@ -336,7 +336,8 @@
     const auto& rpcNames = "default,avf,,default,Strongbox,strongbox,,";
     const auto& rpcSet = parseCommaDelimited(rpcNames);
 
-    ASSERT_EQ(rpcSet.size(), 5);
+    ASSERT_EQ(rpcSet.size(), 4);
+    ASSERT_TRUE(rpcSet.count("") == 0);
     ASSERT_TRUE(rpcSet.count("default") == 1);
     ASSERT_TRUE(rpcSet.count("avf") == 1);
     ASSERT_TRUE(rpcSet.count("strongbox") == 1);