server: Fix tracing of invalid ACLs.
authorAlexandre Julliard <julliard@winehq.org>
Thu, 18 Feb 2010 11:57:03 +0000 (12:57 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 18 Feb 2010 11:57:03 +0000 (12:57 +0100)
server/trace.c

index 03e4c04437effb94e5d9aa2103bd48b19b25db27..529316deef470fb114e455d81279f648912e009c 100644 (file)
@@ -822,7 +822,7 @@ static void dump_inline_acl( const char *prefix, const ACL *acl, data_size_t siz
     {
         if (size < sizeof(ACL))
         {
-            fprintf( stderr, "<invalid acl>}\n" );
+            fprintf( stderr, "<invalid acl>}" );
             return;
         }
         size -= sizeof(ACL);
@@ -832,10 +832,7 @@ static void dump_inline_acl( const char *prefix, const ACL *acl, data_size_t siz
             const SID *sid = NULL;
             data_size_t sid_size = 0;
 
-            if (size < sizeof(ACE_HEADER))
-                return;
-            if (size < ace->AceSize)
-                return;
+            if (size < sizeof(ACE_HEADER) || size < ace->AceSize) break;
             size -= ace->AceSize;
             if (i != 0) fputc( ',', stderr );
             fprintf( stderr, "{AceType=" );