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.
This commit is contained in:
Petar Jovanovic 2017-09-27 15:55:16 +02:00
parent 07e286ea30
commit 8227e4a763
11 changed files with 44 additions and 0 deletions

2
.gitignore vendored
View File

@ -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/

View File

@ -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

View File

@ -0,0 +1,19 @@
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <unistd.h>
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;
}

View File

@ -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)

View File

@ -0,0 +1,2 @@
prog: bad_sioc
vgopts: -q

View File

@ -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

View File

@ -0,0 +1 @@
../mips32/bad_sioc.c

View File

@ -0,0 +1 @@
../mips32/bad_sioc.stderr.exp

View File

@ -0,0 +1 @@
../mips32/bad_sioc.stdout.exp

View File

@ -0,0 +1 @@
../mips32/bad_sioc.vgtest