You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(2) |
2
|
|
3
(5) |
4
(1) |
5
(2) |
6
(1) |
7
(2) |
8
|
9
|
|
10
|
11
|
12
|
13
|
14
|
15
(1) |
16
|
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
|
24
|
25
|
26
|
27
(1) |
28
|
29
|
30
|
|
31
|
|
|
|
|
|
|
|
From: Andreas A. <ar...@so...> - 2022-07-07 12:25:38
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=74e180e3c4d9e6bb4b2a9cd22eca7703412c5d42 commit 74e180e3c4d9e6bb4b2a9cd22eca7703412c5d42 Author: Mark Wielaard <ma...@kl...> Date: Thu May 19 18:08:40 2022 -0400 Add memmem memcheck tests Ensure that memmem behaves as expected and doesn't yield memcheck false positives. Diff: --- memcheck/tests/Makefile.am | 2 ++ memcheck/tests/memmem.c | 69 ++++++++++++++++++++++++++++++++++++++++ memcheck/tests/memmem.stderr.exp | 0 memcheck/tests/memmem.vgtest | 2 ++ 4 files changed, 73 insertions(+) diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am index c8fa5b5cbf..24cfa020cd 100644 --- a/memcheck/tests/Makefile.am +++ b/memcheck/tests/Makefile.am @@ -219,6 +219,7 @@ EXTRA_DIST = \ memalign2.stderr.exp memalign2.vgtest \ memcmptest.stderr.exp memcmptest.stderr.exp2 \ memcmptest.stdout.exp memcmptest.vgtest \ + memmem.stderr.exp memmem.vgtest \ mempool.stderr.exp mempool.vgtest \ mempool2.stderr.exp mempool2.vgtest \ metadata.stderr.exp metadata.stdout.exp metadata.vgtest \ @@ -417,6 +418,7 @@ check_PROGRAMS = \ malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 \ match-overrun \ memalign_test memalign2 memcmptest mempool mempool2 mmaptest \ + memmem \ mismatches new_override metadata \ nanoleak_supp nanoleak2 new_nothrow \ noisy_child \ diff --git a/memcheck/tests/memmem.c b/memcheck/tests/memmem.c new file mode 100644 index 0000000000..7cefafcc65 --- /dev/null +++ b/memcheck/tests/memmem.c @@ -0,0 +1,69 @@ +#define _GNU_SOURCE +#include <assert.h> +#include <string.h> +#include <stdlib.h> + +/* mallocs an mem block and fills it with A. A needs to be a zero + terminated string. The A string chars, minus the terminating zero + are copied into the returned mem block. */ +static void * +create_mem (const char *a) +{ + size_t len = strlen (a); + void *mem = malloc (len); + memcpy (mem, a, len); + return mem; +} + +int +main () +{ + char *haystack; + char *needle; + + haystack = create_mem ("a"); + needle = create_mem ("a"); + assert (memmem (haystack, 0, needle, 0) == haystack); + assert (memmem (haystack, 1, needle, 0) == haystack); + assert (memmem (haystack, 0, needle, 1) == NULL); + assert (memmem (haystack, 1, needle, 1) == haystack); + free (haystack); + free (needle); + + haystack = create_mem ("abc"); + needle = create_mem ("bc"); + assert (memmem (haystack, 3, needle, 0) == haystack); + assert (memmem (haystack, 3, needle, 2) == haystack + 1); + assert (memmem (haystack + 1, 2, needle, 2) == haystack + 1); + assert (memmem (haystack + 2, 1, needle, 2) == NULL); + free (haystack); + free (needle); + + haystack = create_mem ("abcabcabc"); + needle = create_mem ("bca"); + assert (memmem (haystack, 9, needle, 3) == haystack + 1); + free (haystack); + free (needle); + + haystack = create_mem ("abcabcabc"); + needle = create_mem ("bcad"); + assert (memmem (haystack, 9, needle, 4) == NULL); + free (haystack); + free (needle); + + haystack = create_mem ("xxxxxxxxxxxxxxxxxABC"); + needle = create_mem ("ABCD"); + assert (memmem (haystack, 20, needle, 2) == haystack + 17); + assert (memmem (haystack + 3, 17, needle, 2) == haystack + 17); + assert (memmem (haystack + 15, 5, needle, 2) == haystack + 17); + assert (memmem (haystack, 20, needle, 3) == haystack + 17); + assert (memmem (haystack + 3, 17, needle, 3) == haystack + 17); + assert (memmem (haystack + 15, 5, needle, 3) == haystack + 17); + assert (memmem (haystack, 20, needle, 4) == NULL); + assert (memmem (haystack + 3, 5, needle, 4) == NULL); + assert (memmem (haystack + 15, 5, needle, 4) == NULL); + free (haystack); + free (needle); + + return 0; +} diff --git a/memcheck/tests/memmem.stderr.exp b/memcheck/tests/memmem.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/memmem.vgtest b/memcheck/tests/memmem.vgtest new file mode 100644 index 0000000000..4feafd6328 --- /dev/null +++ b/memcheck/tests/memmem.vgtest @@ -0,0 +1,2 @@ +prog: memmem +vgopts: -q |
|
From: Andreas A. <ar...@so...> - 2022-07-07 12:25:37
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=38acc04ac2f5ae2919631cd6cac46b027d2864ef commit 38acc04ac2f5ae2919631cd6cac46b027d2864ef Author: Andreas Arnez <ar...@li...> Date: Thu May 19 13:54:06 2022 +0200 Bug 454040 - Add intercept for memmem on s390x Memcheck may report false positives in an optimized version of memmem on s390x, specifically on arch13 systems. Prevent this by adding an intercept for memmem on s390x platforms. Diff: --- NEWS | 1 + shared/vg_replace_strmem.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/NEWS b/NEWS index 13b576e873..b3c3590b90 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 453055 shared_timed_mutex drd test fails with "Lock shared failed" message 453602 Missing command line option to enable/disable debuginfod 452802 Handle lld 9+ split RW PT_LOAD segments correctly +454040 s390x: False-positive memcheck:cond in memmem on arch13 systems 456171 [PATCH] FreeBSD: Don't record address errors when accessing the 'kern.ps_strings' sysctl struct n-i-bz Implement vgdb invoker on FreeBSD diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c index aab1413917..71b0e14cf5 100644 --- a/shared/vg_replace_strmem.c +++ b/shared/vg_replace_strmem.c @@ -103,6 +103,7 @@ 20430 WMEMCHR 20440 WCSNLEN 20450 WSTRNCMP + 20460 MEMMEM */ #if defined(VGO_solaris) @@ -1800,6 +1801,41 @@ static inline void my_exit ( int x ) #endif +/*---------------------- memmem ----------------------*/ + +#define MEMMEM(soname, fnname) \ + void* VG_REPLACE_FUNCTION_EZU(20460,soname,fnname) \ + (const void* haystack, SizeT hlen, const void* needle, SizeT nlen); \ + void* VG_REPLACE_FUNCTION_EZU(20460,soname,fnname) \ + (const void* haystack, SizeT hlen, const void* needle, SizeT nlen) \ + { \ + const HChar* h = haystack; \ + const HChar* n = needle; \ + \ + /* If the needle is the empty string, match immediately. */ \ + if (nlen == 0) return CONST_CAST(void *,h); \ + \ + HChar n0 = n[0]; \ + \ + for (; hlen >= nlen; hlen--, h++) { \ + if (h[0] != n0) continue; \ + \ + UWord i; \ + for (i = 1; i < nlen; i++) { \ + if (n[i] != h[i]) \ + break; \ + } \ + if (i == nlen) \ + return CONST_CAST(HChar *,h); \ + \ + } \ + return NULL; \ + } + +#if defined(VGP_s390x_linux) + MEMMEM(VG_Z_LIBC_SONAME, memmem) +#endif + /*---------------------- strpbrk ----------------------*/ |