Merge pull request #6157

402dd207 db_lmdb: guard against non NUL terminated keys (moneromooo-monero)
This commit is contained in:
Alexander Blair 2020-01-24 20:07:36 -08:00
commit e51ce477db
No known key found for this signature in database
GPG Key ID: C64552D877C32479
1 changed files with 9 additions and 1 deletions

View File

@ -163,7 +163,15 @@ int BlockchainLMDB::compare_string(const MDB_val *a, const MDB_val *b)
{
const char *va = (const char*) a->mv_data;
const char *vb = (const char*) b->mv_data;
return strcmp(va, vb);
const size_t sz = std::min(a->mv_size, b->mv_size);
int ret = strncmp(va, vb, sz);
if (ret)
return ret;
if (a->mv_size < b->mv_size)
return -1;
if (a->mv_size > b->mv_size)
return 1;
return 0;
}
}