diff --git a/src/bios_table.c b/src/bios_table.c
index d5cc626..db1a6be 100644
--- a/src/bios_table.c
+++ b/src/bios_table.c
@@ -675,10 +675,10 @@
 {
 	uint8_t curr_num =
 		pldm_bios_table_attr_value_entry_enum_decode_number(entry);
-	number = number < curr_num ? number : curr_num;
-	memcpy(handles, &entry->value[1], number);
+	curr_num = number < curr_num ? number : curr_num;
+	memcpy(handles, &entry->value[1], curr_num);
 
-	return number;
+	return curr_num;
 }
 
 LIBPLDM_ABI_STABLE
diff --git a/tests/libpldm_bios_table_test.cpp b/tests/libpldm_bios_table_test.cpp
index 83e7fd9..d42d126 100644
--- a/tests/libpldm_bios_table_test.cpp
+++ b/tests/libpldm_bios_table_test.cpp
@@ -637,6 +637,21 @@
     EXPECT_EQ(rc, 2);
     EXPECT_EQ(handles[0], 0);
     EXPECT_EQ(handles[1], 1);
+
+    /* Buffer size is more than the number of current string handles */
+    std::vector<uint8_t> handleIndexes(3, 0);
+    rc = pldm_bios_table_attr_value_entry_enum_decode_handles(
+        entry, handleIndexes.data(), handleIndexes.size());
+    EXPECT_EQ(rc, 2);
+    EXPECT_EQ(handleIndexes[0], 0);
+    EXPECT_EQ(handleIndexes[1], 1);
+
+    /* Buffersize is less than the number of current string handles */
+    std::vector<uint8_t> strHandles(1, 0);
+    rc = pldm_bios_table_attr_value_entry_enum_decode_handles(
+        entry, strHandles.data(), strHandles.size());
+    EXPECT_EQ(rc, 1);
+    EXPECT_EQ(strHandles[0], 0);
 }
 
 TEST(AttrValTable, stringEntryEncodeTest)
