Author: mjansen
Date: Thu May  5 14:13:29 2016
New Revision: 71263

URL: http://svn.reactos.org/svn/reactos?rev=71263&view=rev
Log:
[NTOSKRNL] Fix NtApphelpCacheControl image lookup failure return codes when 
validating file times.
Also silence some debug outputs in the normal usage flow.

Modified:
    trunk/reactos/ntoskrnl/ps/apphelp.c

Modified: trunk/reactos/ntoskrnl/ps/apphelp.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/apphelp.c?rev=71263&r1=71262&r2=71263&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ps/apphelp.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ps/apphelp.c [iso-8859-1] Thu May  5 14:13:29 2016
@@ -546,14 +546,14 @@
     Entry = RtlLookupElementGenericTableAvl(&ApphelpShimCache, &Lookup);
     if (Entry == NULL)
     {
-        DPRINT1("SHIMS: ApphelpCacheLookupEntry: could not find %wZ\n", 
ImageName);
+        DPRINT("SHIMS: ApphelpCacheLookupEntry: could not find %wZ\n", 
ImageName);
         goto Cleanup;
     }
 
-    DPRINT1("SHIMS: ApphelpCacheLookupEntry: found %wZ\n", ImageName);
+    DPRINT("SHIMS: ApphelpCacheLookupEntry: found %wZ\n", ImageName);
     if (ImageHandle == INVALID_HANDLE_VALUE)
     {
-        DPRINT1("SHIMS: ApphelpCacheLookupEntry: ok\n");
+        DPRINT("SHIMS: ApphelpCacheLookupEntry: ok\n");
         /* just return if we know it, do not query file info */
         Status = STATUS_SUCCESS;
     }
@@ -564,7 +564,7 @@
             Lookup.Persistent.DateTime.QuadPart == 
Entry->Persistent.DateTime.QuadPart &&
             Lookup.Persistent.FileSize.QuadPart == 
Entry->Persistent.FileSize.QuadPart)
         {
-            DPRINT1("SHIMS: ApphelpCacheLookupEntry: found & validated\n");
+            DPRINT("SHIMS: ApphelpCacheLookupEntry: found & validated\n");
             Status = STATUS_SUCCESS;
             /* move it to the front to keep it alive */
             RemoveEntryList(&Entry->List);
@@ -572,7 +572,8 @@
         }
         else
         {
-            DPRINT1("SHIMS: ApphelpCacheLookupEntry: file info mismatch\n");
+            DPRINT1("SHIMS: ApphelpCacheLookupEntry: file info mismatch 
(%lx)\n", Status);
+            Status = STATUS_NOT_FOUND;
             /* Could not read file info, or it did not match, drop it from the 
cache */
             ApphelpCacheRemoveEntryNolock(Entry);
         }
@@ -642,7 +643,7 @@
                                                  &NodeOrParent, &SearchResult);
     if (Lookup)
     {
-        DPRINT1("SHIMS: ApphelpCacheUpdateEntry: Entry already exists, reusing 
it\n");
+        DPRINT("SHIMS: ApphelpCacheUpdateEntry: Entry already exists, reusing 
it\n");
         /* Unlink the found item, so we can put it back at the front,
             and copy the earlier obtained file info*/
         RemoveEntryList(&Lookup->List);
@@ -651,7 +652,7 @@
     }
     else
     {
-        DPRINT1("SHIMS: ApphelpCacheUpdateEntry: Inserting new Entry\n");
+        DPRINT("SHIMS: ApphelpCacheUpdateEntry: Inserting new Entry\n");
         /* Insert a new entry, with its own copy of the ImageName */
         ApphelpDuplicateUnicodeString(&Entry.Persistent.ImageName, ImageName);
         Lookup = RtlInsertElementGenericTableFullAvl(&ApphelpShimCache,
@@ -705,7 +706,7 @@
     PLIST_ENTRY ListEntry;
     PSHIM_CACHE_ENTRY Entry;
 
-    DPRINT1("SHIMS: NtApphelpCacheControl( Dumping entries, newset to oldest 
)\n");
+    DPRINT1("SHIMS: NtApphelpCacheControl( Dumping entries, newest to oldest 
)\n");
     ApphelpCacheAcquireLock();
     ListEntry = ApphelpShimCacheAge.Flink;
     while (ListEntry != &ApphelpShimCacheAge)
@@ -741,19 +742,19 @@
     switch (Service)
     {
         case ApphelpCacheServiceLookup:
-            DPRINT1("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceLookup 
)\n");
+            DPRINT("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceLookup 
)\n");
             Status = ApphelpValidateData(ServiceData, &ImageName, &Handle);
             if (NT_SUCCESS(Status))
                 Status = ApphelpCacheLookupEntry(&ImageName, Handle);
             break;
         case ApphelpCacheServiceRemove:
-            DPRINT1("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceRemove 
)\n");
+            DPRINT("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceRemove 
)\n");
             Status = ApphelpValidateData(ServiceData, &ImageName, &Handle);
             if (NT_SUCCESS(Status))
                 Status = ApphelpCacheRemoveEntry(&ImageName);
             break;
         case ApphelpCacheServiceUpdate:
-            DPRINT1("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceUpdate 
)\n");
+            DPRINT("SHIMS: NtApphelpCacheControl( ApphelpCacheServiceUpdate 
)\n");
             Status = ApphelpCacheAccessCheck();
             if (NT_SUCCESS(Status))
             {


Reply via email to