Rob Shearman : server: Owner and group SIDs in security descriptors are optional in many server calls .

Alexandre Julliard julliard at winehq.org
Tue Oct 16 07:59:52 CDT 2007


Module: wine
Branch: master
Commit: 3f4c2670286c7fbca7a746173d99309c79699cf2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3f4c2670286c7fbca7a746173d99309c79699cf2

Author: Rob Shearman <rob at codeweavers.com>
Date:   Tue Oct 16 10:19:21 2007 +0100

server: Owner and group SIDs in security descriptors are optional in many server calls.

So print "<not present>" when they aren't provided instead of "<invalid sid>".

---

 server/trace.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/server/trace.c b/server/trace.c
index 4471d6f..e0a2e96 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -711,12 +711,18 @@ static void dump_inline_security_descriptor( const struct security_descriptor *s
         fprintf( stderr, ",owner=" );
         if ((sd->owner_len > FIELD_OFFSET(SID, SubAuthority[255])) || (offset + sd->owner_len > size))
             return;
-        dump_inline_sid( (const SID *)((const char *)sd + offset), sd->owner_len );
+        if (sd->owner_len)
+            dump_inline_sid( (const SID *)((const char *)sd + offset), sd->owner_len );
+        else
+            fprintf( stderr, "<not present>" );
         offset += sd->owner_len;
         fprintf( stderr, ",group=" );
         if ((sd->group_len > FIELD_OFFSET(SID, SubAuthority[255])) || (offset + sd->group_len > size))
             return;
-        dump_inline_sid( (const SID *)((const char *)sd + offset), sd->group_len );
+        if (sd->group_len)
+            dump_inline_sid( (const SID *)((const char *)sd + offset), sd->group_len );
+        else
+            fprintf( stderr, "<not present>" );
         offset += sd->group_len;
         fprintf( stderr, ",sacl=" );
         if ((sd->sacl_len >= MAX_ACL_LEN) || (offset + sd->sacl_len > size))




More information about the wine-cvs mailing list