From e9721e7a3e9e6cd781d09beeefcc7fe99d13ccc5 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 26 Oct 2003 12:47:12 +0000 Subject: [PATCH] Bail out of RtlQueryRegistryValues if RTL_QUERY_REGISTRY_REQUIRED specified and value not found. Patch by Ge van Geldorp. svn path=/trunk/; revision=6438 --- reactos/lib/ntdll/rtl/registry.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/reactos/lib/ntdll/rtl/registry.c b/reactos/lib/ntdll/rtl/registry.c index 6cead355adf..bc8e231c024 100644 --- a/reactos/lib/ntdll/rtl/registry.c +++ b/reactos/lib/ntdll/rtl/registry.c @@ -1,4 +1,4 @@ -/* $Id: registry.c,v 1.25 2003/10/15 21:14:01 ekohl Exp $ +/* $Id: registry.c,v 1.26 2003/10/26 12:47:12 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -546,12 +546,15 @@ RtlQueryRegistryValues(IN ULONG RelativeTo, &ResultSize); if (!NT_SUCCESS(Status)) { - Status = QueryEntry->QueryRoutine(QueryEntry->Name, - QueryEntry->DefaultType, - QueryEntry->DefaultData, - QueryEntry->DefaultLength, - Context, - QueryEntry->EntryContext); + if (!(QueryEntry->Flags & RTL_QUERY_REGISTRY_REQUIRED)) + { + Status = QueryEntry->QueryRoutine(QueryEntry->Name, + QueryEntry->DefaultType, + QueryEntry->DefaultData, + QueryEntry->DefaultLength, + Context, + QueryEntry->EntryContext); + } } else if ((ValueInfo->Type == REG_MULTI_SZ) && !(QueryEntry->Flags & RTL_QUERY_REGISTRY_NOEXPAND))