r18954: Fix segv in QueryValue and Enumvalue. regedit.exe now
authorGerald Carter <jerry@samba.org>
Wed, 27 Sep 2006 13:24:57 +0000 (13:24 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:14:50 +0000 (12:14 -0500)
is happy again when creating keys and values
(This used to be commit 6e9e9f8facbdd694041709e1fc6a8f824ac8c119)

source3/rpc_server/srv_winreg_nt.c

index 03320b38f68afdfd3ac6feed43071f45036156fe..c5e42307069d2e2deca25ba899db618c6f0a81be 100644 (file)
@@ -471,7 +471,7 @@ WERROR _winreg_QueryValue(pipes_struct *p, struct policy_handle *handle, struct
                *value_length =  regval_size( val );
                *type = val->type;
 
-               if ( *data_size == 0 ) {
+               if ( *data_size == 0 || !data ) {
                        status = WERR_OK;
                } else if ( *value_length > *data_size ) {
                        status = WERR_MORE_DATA;
@@ -619,7 +619,7 @@ WERROR _winreg_EnumValue(pipes_struct *p, struct policy_handle *handle, uint32_t
        *value_length =  regval_size( val );
        *type = val->type;
 
-       if ( *data_size == 0 ) {
+       if ( *data_size == 0 || !data ) {
                status = WERR_OK;
        } else if ( *value_length > *data_size ) {
                status = WERR_MORE_DATA;