commit 34ab92ebc818bc5b356f1d297868512225493eca Author: Sathvika Vasireddy Date: Thu Nov 9 02:37:36 2023 +0530 libvpd: Prevent adding duplicate entries in addDeviceSpecific() function Currently, addDeviceSpecific() adds new 'DataItem' to the 'mDeviceSpecific' vector without checking for duplicates. This vector can be further used by the front end tools to list vpd information. If this vector has duplicate entries, then vpd information for a specific device is listed more than once. To fix this, prevent duplicate entries with the same 'ac' value from being stored in the vector. Check if a 'DataItem' with the same ac value already exists in the vector, and add the new object to the vector only if no matching item is found. Signed-off-by: Sathvika Vasireddy Signed-off-by: Mahesh Salgaonkar diff --git a/src/component.cpp b/src/component.cpp index 44208ac..a945fc1 100644 --- a/src/component.cpp +++ b/src/component.cpp @@ -937,7 +937,6 @@ lderr: d->ac = ac; d->humanName = humanName; d->setValue( val, lvl, __FILE__, __LINE__ ); -#if 0 /* * There can be multiple records with the 'CL' key. @@ -952,7 +951,6 @@ lderr: if( (*i)->ac == ac ) return; //Failed to add - already present } -#endif mDeviceSpecific.push_back( d ); }