Fix unsanitized value updated on inherited FRUs

This commit fixes unsanitized user input values getting updated on
inherited FRUs and common interfaces via Manager updateKeyword API.
The keyword value on inherited FRUs and on common interfaces should be
updated with same value as written on hardware and base FRU.

Change-Id: I4bdb650deed685174b55c91349beec5d9643fe3e
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>
diff --git a/vpd-manager/src/parser.cpp b/vpd-manager/src/parser.cpp
index cede920..7658011 100644
--- a/vpd-manager/src/parser.cpp
+++ b/vpd-manager/src/parser.cpp
@@ -57,7 +57,8 @@
     return l_parser->parse();
 }
 
-int Parser::updateVpdKeyword(const types::WriteVpdParams& i_paramsToWriteData)
+int Parser::updateVpdKeyword(const types::WriteVpdParams& i_paramsToWriteData,
+                             types::DbusVariantType& o_updatedValue)
 {
     int l_bytesUpdatedOnHardware = constants::FAILURE;
 
@@ -146,6 +147,9 @@
                         l_vpdParserInstance->readKeywordFromHardware(
                             types::ReadVpdParams(
                                 std::make_tuple(l_recordName, l_propertyName)));
+
+                    // return the actual value updated on hardware
+                    o_updatedValue = l_keywordValue;
                 }
                 catch (const std::exception& l_exception)
                 {
@@ -231,6 +235,12 @@
     return l_bytesUpdatedOnHardware;
 }
 
+int Parser::updateVpdKeyword(const types::WriteVpdParams& i_paramsToWriteData)
+{
+    types::DbusVariantType o_updatedValue;
+    return updateVpdKeyword(i_paramsToWriteData, o_updatedValue);
+}
+
 int Parser::updateVpdKeywordOnRedundantPath(
     const std::string& i_fruPath,
     const types::WriteVpdParams& i_paramsToWriteData)