From eaf717744d425e0bb8905f451e7443b07b67f97b Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Tue, 13 Dec 2022 23:33:46 -0500 Subject: [Bug Fix] open_plugin.c update checksum check for spinning disks Lang_id keys take LANG_LAST_INDEX_IN_ARRAY for the checksum spinning disks did not have the code to do so Change-Id: I617e1a5462d8d6c4830a9b59171bdd7167d5e7a1 --- apps/open_plugin.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/open_plugin.c b/apps/open_plugin.c index 45dd7cdd2c..58c3058fce 100644 --- a/apps/open_plugin.c +++ b/apps/open_plugin.c @@ -155,10 +155,14 @@ static int op_update_dat(struct open_plugin_entry_t *entry, bool clear) /* Only read the hash lang id and checksum */ uint32_t hash_langid_csum[3] = {0}; const off_t hlc_sz = sizeof(hash_langid_csum); + + uint32_t csum = open_plugin_csum + + (lang_id <= OPEN_PLUGIN_LANG_INVALID ? 0 : LANG_LAST_INDEX_IN_ARRAY); + while (read(fd, &hash_langid_csum, hlc_sz) == hlc_sz) { if ((hash_langid_csum[0] == hash || (int32_t)hash_langid_csum[1] == lang_id) && - hash_langid_csum[2] == open_plugin_csum) + hash_langid_csum[2] == csum) { logf("OP update *Entry Exists* hash: %x langid: %d", hash_langid_csum[0], (int32_t)hash_langid_csum[1]); -- cgit v1.2.3