https://bugs.kde.org/show_bug.cgi?id=503914
Bug ID: 503914 Summary: mount syscall param filesystemtype may be NULL Classification: Developer tools Product: valgrind Version: 3.25 GIT Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: jsew...@acm.org Reporter: m...@klomp.org Target Milestone: --- On Linux depending on flags the source, type and data my be ignored. We already don't check data and allow source to be NULL. Normally when type is ignored an application will provide an empty string "". But sometimes NULL is passed (like for source). So we should also allow type to be NULL to prevent false positives. diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 6f3917830fa4..afd4a618b12f 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -1000,7 +1000,8 @@ PRE(sys_mount) { // Nb: depending on 'flags', the 'type' and 'data' args may be ignored. // We are conservative and check everything, except the memory pointed to - // by 'data'. + // by 'data'. And since both 'source' and 'type' may be ignored, we allow + // them to be NULL. *flags |= SfMayBlock; PRINT("sys_mount( %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %#" FMT_REGWORD "x )", @@ -1012,7 +1013,8 @@ PRE(sys_mount) if (ARG1) PRE_MEM_RASCIIZ( "mount(source)", ARG1); PRE_MEM_RASCIIZ( "mount(target)", ARG2); - PRE_MEM_RASCIIZ( "mount(type)", ARG3); + if (ARG3) + PRE_MEM_RASCIIZ( "mount(type)", ARG3); } PRE(sys_oldumount) -- You are receiving this mail because: You are watching all bug changes.