From: songweibin Date: Thu, 25 Jul 2019 07:21:43 +0000 (+0800) Subject: src/test: s/strcpy/strncpy X-Git-Tag: v15.1.0~2056^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0c706687e51201fde6f50fddf03c0785a1332484;p=ceph.git src/test: s/strcpy/strncpy fix klocwork issues: function 'strcpy' does not check buffer boundaries but outputs to buffer 'watcher.addr' of fixed size (256) Signed-off-by: songweibin --- diff --git a/src/test/librados_test_stub/TestWatchNotify.cc b/src/test/librados_test_stub/TestWatchNotify.cc index 0068d075e6016..71b1c8d428002 100644 --- a/src/test/librados_test_stub/TestWatchNotify.cc +++ b/src/test/librados_test_stub/TestWatchNotify.cc @@ -77,7 +77,8 @@ int TestWatchNotify::list_watchers(int64_t pool_id, const std::string& nspace, watcher->watch_handles.begin(); it != watcher->watch_handles.end(); ++it) { obj_watch_t obj; - strcpy(obj.addr, it->second.addr.c_str()); + strncpy(obj.addr, it->second.addr.c_str(), sizeof(obj.addr) - 1); + obj.addr[sizeof(obj.addr) - 1] = '\0'; obj.watcher_id = static_cast(it->second.gid); obj.cookie = it->second.handle; obj.timeout_seconds = 30; diff --git a/src/test/librbd/managed_lock/test_mock_BreakRequest.cc b/src/test/librbd/managed_lock/test_mock_BreakRequest.cc index efab85e944461..d47799c6d7685 100644 --- a/src/test/librbd/managed_lock/test_mock_BreakRequest.cc +++ b/src/test/librbd/managed_lock/test_mock_BreakRequest.cc @@ -81,7 +81,8 @@ public: expect.WillOnce(Return(r)); } else { obj_watch_t watcher; - strcpy(watcher.addr, (address + ":0/0").c_str()); + strncpy(watcher.addr, (address + ":0/0").c_str(), sizeof(watcher.addr) - 1); + watcher.addr[sizeof(watcher.addr) - 1] = '\0'; watcher.watcher_id = 0; watcher.cookie = watch_handle;