[PATCH 5/5] ntdll: handle error cases in om test (Coverity)
Marcus Meissner
meissner at suse.de
Fri Jul 9 06:09:53 CDT 2010
Hi,
coverity sees that len might be too large in error return
cases and cause a buffer overread. So check the error return
cases in that specific test.
Ciao, Marcus
---
dlls/ntdll/tests/om.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index 24339bb..c6a3cbf 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -419,9 +419,12 @@ static void test_directory(void)
memset( buffer, 0xaa, sizeof(buffer) );
status = pNtQuerySymbolicLinkObject( dir, &str, &len );
ok( status == STATUS_SUCCESS, "NtQuerySymbolicLinkObject failed %08x\n", status );
+ if (status != STATUS_SUCCESS)
+ goto error;
full_len = str.Length + sizeof(WCHAR);
ok( len == full_len, "bad length %u/%u\n", len, full_len );
- ok( buffer[len / sizeof(WCHAR) - 1] == 0, "no terminating null\n" );
+ if (len == full_len)
+ ok( buffer[len / sizeof(WCHAR) - 1] == 0, "no terminating null\n" );
str.MaximumLength = str.Length;
len = 0xdeadbeef;
@@ -441,6 +444,7 @@ static void test_directory(void)
ok( status == STATUS_SUCCESS, "NtQuerySymbolicLinkObject failed %08x\n", status );
ok( len == full_len, "bad length %u/%u\n", len, full_len );
+error:
pNtClose(dir);
}
--
1.7.1
More information about the wine-patches
mailing list