Skip to content

Commit

Permalink
Fix Coverity INVALIDATE_ITERATOR errors
Browse files Browse the repository at this point in the history
Fixes:
```
test/acl_auto_configure_test.cpp:285:3:
  Type: Using invalid iterator (INVALIDATE_ITERATOR)
test/acl_auto_configure_test.cpp:285:3:
  124. deref_iterator: Dereferencing iterator "kernel15_dev_global" though it is already past the end of its container.

test/acl_auto_configure_test.cpp:292:3:
  Type: Using invalid iterator (INVALIDATE_ITERATOR)
test/acl_auto_configure_test.cpp:292:3:
  136. deref_iterator: Dereferencing iterator "kernel15_dev_global2" though it is already past the end of its container.
```
  • Loading branch information
sophimao committed Aug 21, 2024
1 parent 5b5081a commit 7201bb2
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 36 deletions.
44 changes: 26 additions & 18 deletions fuzz_testing/test/acl_auto_configure_fuzz_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -294,24 +294,32 @@ TEST(auto_configure, simple) {
const auto kernel15_dev_global2 =
m_device_def.autodiscovery_def.device_global_mem_defs.find(
"kernel15_dev_global2");
CHECK(kernel15_dev_global !=
m_device_def.autodiscovery_def.device_global_mem_defs.end());
CHECK(kernel15_dev_global2 !=
m_device_def.autodiscovery_def.device_global_mem_defs.end());
CHECK_EQUAL(4096, kernel15_dev_global->second.address);
CHECK_EQUAL(2048, kernel15_dev_global->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_NONE,
kernel15_dev_global->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global->second.can_skip_programming);
CHECK_EQUAL(false, kernel15_dev_global->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global->second.reset_on_reuse);
CHECK_EQUAL(2048, kernel15_dev_global2->second.address);
CHECK_EQUAL(1024, kernel15_dev_global2->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_WRITE_ONLY,
kernel15_dev_global2->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global2->second.can_skip_programming);
CHECK_EQUAL(true, kernel15_dev_global2->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global2->second.reset_on_reuse);
bool kernel15_dev_global_found =
kernel15_dev_global !=
m_device_def.autodiscovery_def.device_global_mem_defs.end();
bool kernel15_dev_global2_found =
kernel15_dev_global2 !=
m_device_def.autodiscovery_def.device_global_mem_defs.end();
CHECK(kernel15_dev_global_found);
CHECK(kernel15_dev_global2_found);
if (kernel15_dev_global_found) {
CHECK_EQUAL(4096, kernel15_dev_global->second.address);
CHECK_EQUAL(2048, kernel15_dev_global->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_NONE,
kernel15_dev_global->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global->second.can_skip_programming);
CHECK_EQUAL(false, kernel15_dev_global->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global->second.reset_on_reuse);
}
if (kernel15_dev_global2_found) {
CHECK_EQUAL(2048, kernel15_dev_global2->second.address);
CHECK_EQUAL(1024, kernel15_dev_global2->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_WRITE_ONLY,
kernel15_dev_global2->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global2->second.can_skip_programming);
CHECK_EQUAL(true, kernel15_dev_global2->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global2->second.reset_on_reuse);
}

// Check a second parsing.
// It should allocate a new string for the name.
Expand Down
44 changes: 26 additions & 18 deletions test/acl_auto_configure_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -278,24 +278,32 @@ TEST(auto_configure, simple) {
const auto kernel15_dev_global2 =
m_device_def.autodiscovery_def.device_global_mem_defs.find(
"kernel15_dev_global2");
CHECK(kernel15_dev_global !=
m_device_def.autodiscovery_def.device_global_mem_defs.end());
CHECK(kernel15_dev_global2 !=
m_device_def.autodiscovery_def.device_global_mem_defs.end());
CHECK_EQUAL(4096, kernel15_dev_global->second.address);
CHECK_EQUAL(2048, kernel15_dev_global->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_NONE,
kernel15_dev_global->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global->second.can_skip_programming);
CHECK_EQUAL(false, kernel15_dev_global->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global->second.reset_on_reuse);
CHECK_EQUAL(2048, kernel15_dev_global2->second.address);
CHECK_EQUAL(1024, kernel15_dev_global2->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_WRITE_ONLY,
kernel15_dev_global2->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global2->second.can_skip_programming);
CHECK_EQUAL(true, kernel15_dev_global2->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global2->second.reset_on_reuse);
bool kernel15_dev_global_found =
kernel15_dev_global !=
m_device_def.autodiscovery_def.device_global_mem_defs.end();
bool kernel15_dev_global2_found =
kernel15_dev_global2 !=
m_device_def.autodiscovery_def.device_global_mem_defs.end();
CHECK(kernel15_dev_global_found);
CHECK(kernel15_dev_global2_found);
if (kernel15_dev_global_found) {
CHECK_EQUAL(4096, kernel15_dev_global->second.address);
CHECK_EQUAL(2048, kernel15_dev_global->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_NONE,
kernel15_dev_global->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global->second.can_skip_programming);
CHECK_EQUAL(false, kernel15_dev_global->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global->second.reset_on_reuse);
}
if (kernel15_dev_global2_found) {
CHECK_EQUAL(2048, kernel15_dev_global2->second.address);
CHECK_EQUAL(1024, kernel15_dev_global2->second.size);
CHECK_EQUAL(ACL_DEVICE_GLOBAL_HOST_ACCESS_WRITE_ONLY,
kernel15_dev_global2->second.host_access);
CHECK_EQUAL(false, kernel15_dev_global2->second.can_skip_programming);
CHECK_EQUAL(true, kernel15_dev_global2->second.implement_in_csr);
CHECK_EQUAL(false, kernel15_dev_global2->second.reset_on_reuse);
}

// Check a second parsing.
// It should allocate a new string for the name.
Expand Down

0 comments on commit 7201bb2

Please sign in to comment.