svn commit: samba r16126 - in branches/SAMBA_3_0/source/rpc_parse: .

jra at samba.org jra at samba.org
Fri Jun 9 17:20:00 GMT 2006


Author: jra
Date: 2006-06-09 17:19:59 +0000 (Fri, 09 Jun 2006)
New Revision: 16126

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16126

Log:
Janitor for Volker..... This looks correct to me.
Jeremy.

Fix a parsing error that became apparent in 'make test': If we have no
group
rids in the info3 we set the array buffer pointer to "1" but fail to
actually
ship the array.

Volker.


Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_net.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_net.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_net.c	2006-06-09 16:33:46 UTC (rev 16125)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_net.c	2006-06-09 17:19:59 UTC (rev 16126)
@@ -4,7 +4,7 @@
  *  Copyright (C) Andrew Tridgell              1992-1997,
  *  Copyright (C) Luke Kenneth Casson Leighton 1996-1997,
  *  Copyright (C) Paul Ashton                       1997.
- *  Copyright (C) Jean François Micouleau           2002.
+ *  Copyright (C) Jean Francois Micouleau           2002.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -1711,29 +1711,24 @@
 	if(!prs_align(ps))
 		return False;
 
-	if (usr->num_groups > 0) {
+	if(!prs_uint32("num_groups2   ", ps, depth, &usr->num_groups2))        /* num groups2 */
+		return False;
 
-		if(!prs_uint32("num_groups2   ", ps, depth, &usr->num_groups2))        /* num groups2 */
-			return False;
+	if (usr->num_groups != usr->num_groups2) {
+		DEBUG(3,("net_io_user_info3: num_groups mismatch! (%d != %d)\n", 
+			 usr->num_groups, usr->num_groups2));
+		return False;
+	}
 
-		if (usr->num_groups != usr->num_groups2) {
-			DEBUG(3,("net_io_user_info3: num_groups mismatch! (%d != %d)\n", 
-			usr->num_groups, usr->num_groups2));
+	if (UNMARSHALLING(ps)) {
+		usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups);
+		if (usr->gids == NULL)
 			return False;
-		}
+	}
 
-
-		if (UNMARSHALLING(ps)) {
-			usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups);
-			if (usr->gids == NULL)
-				return False;
-		}
-
-		for (i = 0; i < usr->num_groups; i++) {
-			if(!smb_io_gid("", &usr->gids[i], ps, depth)) /* group info */
-				return False;
-		}
-		
+	for (i = 0; i < usr->num_groups; i++) {
+		if(!smb_io_gid("", &usr->gids[i], ps, depth)) /* group info */
+			return False;
 	}
 
 	if(!smb_io_unistr2("uni_logon_srv", &usr->uni_logon_srv, usr->hdr_logon_srv.buffer, ps, depth)) /* logon server unicode string */



More information about the samba-cvs mailing list