Skip to content

Commit 81050bc

Browse files
MoFHekarhdong
authored andcommitted
[fix] Fixed memory access errors caused by logical errors in the assertions of the command lambda function in Redis backend.
1 parent 074bcd1 commit 81050bc

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

tensorflow_recommenders_addons/dynamic_embedding/core/kernels/redis_impl/redis_cluster_connection_pool.hpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,8 @@ class RedisWrapper<RedisInstance, K, V,
528528
const std::vector<std::size_t> *sizes_i) {
529529
assert(strcmp(ptrs_i->front(), "HMGET") == 0);
530530
assert(sizes_i->front() == 5);
531-
assert(std::string(hkey.data()).compare(ptrs_i[1]) == 0);
531+
assert(std::string(hkey.data(), hkey.size())
532+
.compare(0, sizes_i->at(1), ptrs_i->at(1)) == 0);
532533

533534
connection.send(static_cast<int>(ptrs_i->size()),
534535
const_cast<const char **>(ptrs_i->data()),
@@ -986,7 +987,8 @@ every bucket has its own BucketContext for sending data---for locating reply-
986987
const std::vector<std::size_t> *sizes_i) {
987988
assert(strcmp(ptrs_i->front(), "HMGET") == 0);
988989
assert(sizes_i->front() == 5);
989-
assert(std::string(hkey.data()).compare(ptrs_i[1]) == 0);
990+
assert(std::string(hkey.data(), hkey.size())
991+
.compare(0, sizes_i->at(1), ptrs_i->at(1)) == 0);
990992

991993
connection.send(static_cast<int>(ptrs_i->size()),
992994
const_cast<const char **>(ptrs_i->data()),
@@ -1201,7 +1203,8 @@ every bucket has its own BucketContext for sending data---for locating reply-
12011203
const std::vector<std::size_t> *sizes_i) {
12021204
assert(strcmp(ptrs_i->front(), "HMSET") == 0);
12031205
assert(sizes_i->front() == 5);
1204-
assert(std::string(hkey.data()).compare(ptrs_i[1]) == 0);
1206+
assert(std::string(hkey.data(), hkey.size())
1207+
.compare(0, sizes_i->at(1), ptrs_i->at(1)) == 0);
12051208

12061209
connection.send(static_cast<int>(ptrs_i->size()),
12071210
const_cast<const char **>(ptrs_i->data()),
@@ -1298,7 +1301,8 @@ every bucket has its own BucketContext for sending data---for locating reply-
12981301
const std::vector<std::size_t> *sizes_i) {
12991302
assert(strcmp(ptrs_i->front(), "HMACCUM") == 0);
13001303
assert(sizes_i->front() == redis_command_byte);
1301-
assert(std::string(hkey.data()).compare(ptrs_i[1]) == 0);
1304+
assert(std::string(hkey.data(), hkey.size())
1305+
.compare(0, sizes_i->at(1), ptrs_i->at(1)) == 0);
13021306

13031307
connection.send(static_cast<int>(ptrs_i->size()),
13041308
const_cast<const char **>(ptrs_i->data()),
@@ -1377,7 +1381,8 @@ every bucket has its own BucketContext for sending data---for locating reply-
13771381
const std::vector<std::size_t> *sizes_i) {
13781382
assert(strcmp(ptrs_i->front(), "HDEL") == 0);
13791383
assert(sizes_i->front() == 4);
1380-
assert(std::string(hkey.data()).compare(ptrs_i[1]) == 0);
1384+
assert(std::string(hkey.data(), hkey.size())
1385+
.compare(0, sizes_i->at(1), ptrs_i->at(1)) == 0);
13811386

13821387
connection.send(static_cast<int>(ptrs_i->size()),
13831388
const_cast<const char **>(ptrs_i->data()),

0 commit comments

Comments
 (0)