Module: wine Branch: master Commit: 641e645276ae3c6a27915c2c728739b224fc56dd URL: http://source.winehq.org/git/wine.git/?a=commit;h=641e645276ae3c6a27915c2c72...
Author: Paul Vriens paul.vriens.wine@gmail.com Date: Sun Jul 29 22:29:11 2007 +0200
advapi32/service: Test for too small buffer.
---
dlls/advapi32/tests/service.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c index 2291236..13eec9f 100644 --- a/dlls/advapi32/tests/service.c +++ b/dlls/advapi32/tests/service.c @@ -569,6 +569,19 @@ static void test_get_displayname(void) "Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError()); }
+ /* Buffer is too small */ + SetLastError(0xdeadbeef); + tempsize = displaysize; + displaysize = (tempsize / 2); + ret = GetServiceDisplayNameA(scm_handle, servicename, displayname, &displaysize); + ok(!ret, "Expected failure\n"); + todo_wine + { + ok(displaysize == tempsize, "Expected the needed buffersize\n"); + ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, + "Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError()); + } + /* Get the displayname */ SetLastError(0xdeadbeef); ret = GetServiceDisplayNameA(scm_handle, servicename, displayname, &displaysize);