diff --git a/source/rpc_server/winreg/rpc_winreg.c b/source/rpc_server/winreg/rpc_winreg.c index 22c60c3..5c655f5 100644 --- a/source/rpc_server/winreg/rpc_winreg.c +++ b/source/rpc_server/winreg/rpc_winreg.c @@ -461,7 +461,9 @@ static WERROR dcesrv_winreg_QueryValue(struct dcesrv_call_state *dce_call, &value_type, &value_data); if (!W_ERROR_IS_OK(result)) { - return result; + value_type = REG_NONE; + value_data.data = NULL; + value_data.length = 0; } /* Just asking for the size of the buffer */ @@ -483,7 +485,7 @@ static WERROR dcesrv_winreg_QueryValue(struct dcesrv_call_state *dce_call, r->out.data = value_data.data; } - return WERR_OK; + return result; default: return WERR_ACCESS_DENIED; }