From 93595aeff0ad751a199d5c42879db8d4af61e3f5 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Mon, 5 Jun 2023 20:47:42 +0200 Subject: [PATCH] Fixed `std::vector::data` return type (#5116) This caused many `arithOperationsOnVoidPointer` false positives in my project which uses `std::vector` in many places. --- cfg/std.cfg | 2 +- test/cfg/std.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cfg/std.cfg b/cfg/std.cfg index ff400b69a..311f9bae3 100644 --- a/cfg/std.cfg +++ b/cfg/std.cfg @@ -6773,7 +6773,7 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun - + false diff --git a/test/cfg/std.cpp b/test/cfg/std.cpp index 89bdcbb82..1caf7ebf3 100644 --- a/test/cfg/std.cpp +++ b/test/cfg/std.cpp @@ -4739,4 +4739,11 @@ void smartPtr_release() p.release(); //cppcheck-suppress nullPointer *p = 1; -} \ No newline at end of file +} + +void std_vector_data_arithmetic() +{ + std::vector buf; + buf.resize(1); + memcpy(buf.data() + 0, "", 1); +}