From 1fd0689f0ef3e833ffd23683d89fa39077a7ce63 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Wed, 15 Nov 2023 17:13:20 +0100 Subject: [PATCH] s3-winreg: fix _winreg_EnumValue behavior When returning WERR_MORE_DATA the winreg server needs to indicate the required buffer size. Guenther Signed-off-by: Guenther Deschner Reviewed-by: Andrew Bartlett --- selftest/knownfail.d/winreg | 4 ---- source3/rpc_server/winreg/srv_winreg_nt.c | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/selftest/knownfail.d/winreg b/selftest/knownfail.d/winreg index b1c55dea2f8..4d88d8a725a 100644 --- a/selftest/knownfail.d/winreg +++ b/selftest/knownfail.d/winreg @@ -1,5 +1 @@ -^samba3.rpc.winreg.winreg.HKLM\(nt4_dc\) -^samba3.rpc.winreg.winreg.HKCR\(nt4_dc\) -^samba3.rpc.winreg.winreg.HKCU\(nt4_dc\) -^samba3.rpc.winreg.winreg.HKU\(nt4_dc\) ^samba4.rpc.winreg.* diff --git a/source3/rpc_server/winreg/srv_winreg_nt.c b/source3/rpc_server/winreg/srv_winreg_nt.c index 67e81422e4c..132213a6e86 100644 --- a/source3/rpc_server/winreg/srv_winreg_nt.c +++ b/source3/rpc_server/winreg/srv_winreg_nt.c @@ -502,6 +502,7 @@ WERROR _winreg_EnumValue(struct pipes_struct *p, } if (val->data.length > *r->out.size) { + *r->out.size = val->data.length; return WERR_MORE_DATA; } -- 2.47.3