From: Petar Jovanovic Date: Wed, 27 Sep 2017 13:55:16 +0000 (+0200) Subject: mips: new Memcheck test, bad_sioc X-Git-Tag: VALGRIND_3_14_0~249 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8227e4a763bf14b6cfd98a14d8657bf656ea1af0;p=thirdparty%2Fvalgrind.git mips: new Memcheck test, bad_sioc Check if Memcheck is able to recognize errors related to uninitialized parameters in ioctl(SIOCSPGRP / SIOCATMARK) calls. Test by Aleksandar Rikalo. --- diff --git a/.gitignore b/.gitignore index 7c8bb8978d..ba06188c60 100644 --- a/.gitignore +++ b/.gitignore @@ -1098,6 +1098,7 @@ /memcheck/tests/mips32/.deps /memcheck/tests/mips32/Makefile /memcheck/tests/mips32/Makefile.in +/memcheck/tests/mips32/bad_sioc /memcheck/tests/mips32/fadvise64 # /memcheck/tests/mips64/ @@ -1108,6 +1109,7 @@ /memcheck/tests/mips64/.deps /memcheck/tests/mips64/Makefile /memcheck/tests/mips64/Makefile.in +/memcheck/tests/mips64/bad_sioc /memcheck/tests/mips64/fadvise64 # /memcheck/tests/ppc32/ diff --git a/memcheck/tests/mips32/Makefile.am b/memcheck/tests/mips32/Makefile.am index c43280df56..3b21909c9a 100644 --- a/memcheck/tests/mips32/Makefile.am +++ b/memcheck/tests/mips32/Makefile.am @@ -5,9 +5,12 @@ dist_noinst_SCRIPTS = \ filter_stderr EXTRA_DIST = $(noinst_SCRIPTS) \ + badsioc.stderr.exp badsioc.stdout.exp badsioc.vgtest \ fadvise64.stderr.exp fadvise64.stdout.exp fadvise64.vgtest + check_PROGRAMS = \ + bad_sioc \ fadvise64 fadvise64_CFLAGS = $(AM_CFLAGS) -Wno-uninitialized diff --git a/memcheck/tests/mips32/bad_sioc.c b/memcheck/tests/mips32/bad_sioc.c new file mode 100644 index 0000000000..41f11e7083 --- /dev/null +++ b/memcheck/tests/mips32/bad_sioc.c @@ -0,0 +1,19 @@ +#include +#include +#include +#include + +int main() +{ + pid_t pid; + int fd, atmark; + + fd = socket(PF_INET, SOCK_DGRAM, 0); + + ioctl(fd, SIOCSPGRP, &pid); + ioctl(fd, SIOCATMARK, &atmark); + + close(fd); + + return 0; +} diff --git a/memcheck/tests/mips32/bad_sioc.stderr.exp b/memcheck/tests/mips32/bad_sioc.stderr.exp new file mode 100644 index 0000000000..4a8b1772d5 --- /dev/null +++ b/memcheck/tests/mips32/bad_sioc.stderr.exp @@ -0,0 +1,12 @@ +Syscall param ioctl(SIOCSPGRP) points to uninitialised byte(s) + ... + by 0x........: main (bad_sioc.c:13) + Address 0x........ is on thread 1's stack + in frame #1, created by main (bad_sioc.c:7) + +Syscall param ioctl(SIOCATMARK) points to uninitialised byte(s) + ... + by 0x........: main (bad_sioc.c:14) + Address 0x........ is on thread 1's stack + in frame #1, created by main (bad_sioc.c:7) + diff --git a/memcheck/tests/mips32/bad_sioc.stdout.exp b/memcheck/tests/mips32/bad_sioc.stdout.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/mips32/bad_sioc.vgtest b/memcheck/tests/mips32/bad_sioc.vgtest new file mode 100644 index 0000000000..b6951b899e --- /dev/null +++ b/memcheck/tests/mips32/bad_sioc.vgtest @@ -0,0 +1,2 @@ +prog: bad_sioc +vgopts: -q diff --git a/memcheck/tests/mips64/Makefile.am b/memcheck/tests/mips64/Makefile.am index c43280df56..226f077037 100644 --- a/memcheck/tests/mips64/Makefile.am +++ b/memcheck/tests/mips64/Makefile.am @@ -5,9 +5,11 @@ dist_noinst_SCRIPTS = \ filter_stderr EXTRA_DIST = $(noinst_SCRIPTS) \ + badsioc.stderr.exp badsioc.stdout.exp badsioc.vgtest \ fadvise64.stderr.exp fadvise64.stdout.exp fadvise64.vgtest check_PROGRAMS = \ + bad_sioc \ fadvise64 fadvise64_CFLAGS = $(AM_CFLAGS) -Wno-uninitialized diff --git a/memcheck/tests/mips64/bad_sioc.c b/memcheck/tests/mips64/bad_sioc.c new file mode 120000 index 0000000000..9e776e5b55 --- /dev/null +++ b/memcheck/tests/mips64/bad_sioc.c @@ -0,0 +1 @@ +../mips32/bad_sioc.c \ No newline at end of file diff --git a/memcheck/tests/mips64/bad_sioc.stderr.exp b/memcheck/tests/mips64/bad_sioc.stderr.exp new file mode 120000 index 0000000000..312f0b758b --- /dev/null +++ b/memcheck/tests/mips64/bad_sioc.stderr.exp @@ -0,0 +1 @@ +../mips32/bad_sioc.stderr.exp \ No newline at end of file diff --git a/memcheck/tests/mips64/bad_sioc.stdout.exp b/memcheck/tests/mips64/bad_sioc.stdout.exp new file mode 120000 index 0000000000..f9fab1c3eb --- /dev/null +++ b/memcheck/tests/mips64/bad_sioc.stdout.exp @@ -0,0 +1 @@ +../mips32/bad_sioc.stdout.exp \ No newline at end of file diff --git a/memcheck/tests/mips64/bad_sioc.vgtest b/memcheck/tests/mips64/bad_sioc.vgtest new file mode 120000 index 0000000000..60e1b39da2 --- /dev/null +++ b/memcheck/tests/mips64/bad_sioc.vgtest @@ -0,0 +1 @@ +../mips32/bad_sioc.vgtest \ No newline at end of file