/memcheck/tests/bug340392
/memcheck/tests/bug464969_d_demangle
/memcheck/tests/bug472219
+/memcheck/tests/bug401284
/memcheck/tests/calloc-overflow
/memcheck/tests/cdebug_zlib
/memcheck/tests/cdebug_zlib_gnu
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.
+
+401284 False positive "Source and destination overlap in strncat"
475498 Add reallocarray wrapper
476320 Build failure with GCC
476535 Difference in allocation size for massif/tests/overloaded-new between clang++/libc++ and g++/libstdc++
atomic_incs.stdout.exp-64bit-and-128bit \
badaddrvalue.stderr.exp \
badaddrvalue.stdout.exp badaddrvalue.vgtest \
- exit_on_first_error.stderr.exp \
- exit_on_first_error.vgtest \
- exit_on_first_error_with_xml.stderr.exp \
- exit_on_first_error_with_xml.vgtest \
badfree-2trace.stderr.exp badfree-2trace.vgtest \
badfree.stderr.exp badfree.vgtest \
badfree3.stderr.exp badfree3.vgtest \
bug155125.stderr.exp bug155125.vgtest \
bug287260.stderr.exp bug287260.vgtest \
bug340392.stderr.exp bug340392.vgtest \
+ bug401284.stderr.exp bug401284.stdout.exp bug401284.vgtest \
bug464969_d_demangle.stderr.exp bug464969_d_demangle.vgtest \
bug464969_d_demangle.stdout.exp \
bug472219.stderr.exp bug472219.vgtest \
erringfds.stderr.exp erringfds.stdout.exp erringfds.vgtest \
error_counts.stderr.exp error_counts.vgtest \
errs1.stderr.exp errs1.vgtest \
+ exit_on_first_error.stderr.exp \
+ exit_on_first_error.vgtest \
+ exit_on_first_error_with_xml.stderr.exp \
+ exit_on_first_error_with_xml.vgtest \
exitprog.stderr.exp exitprog.vgtest \
execve1.stderr.exp execve1.vgtest execve1.stderr.exp-kfail \
execve2.stderr.exp execve2.vgtest execve2.stderr.exp-kfail \
bug155125 \
bug287260 \
bug340392 \
+ bug401284 \
bug464969_d_demangle \
bug472219 \
calloc-overflow \
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main(int argc, char* argv[])
+{
+ size_t len = strlen(argv[1]);
+ char* buf = (char*) malloc(2 * len + 1);
+ memcpy(buf, argv[1], len + 1);
+ strncat(buf + len, buf, len);
+ printf("%s\n", buf);
+ free(buf);
+ return 0;
+}
if (is_overlap(dst_orig, \
src_orig, \
(Addr)dst-(Addr)dst_orig+1, \
- (Addr)src-(Addr)src_orig+1)) \
+ (Addr)src-(Addr)src_orig)) \
RECORD_OVERLAP_ERROR("strncat", dst_orig, src_orig, n); \
\
return dst_orig; \