svn commit: samba r12299 - in trunk/source/libsmb: .

jra at samba.org jra at samba.org
Sat Dec 17 01:06:25 GMT 2005


Author: jra
Date: 2005-12-17 01:06:23 +0000 (Sat, 17 Dec 2005)
New Revision: 12299

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

Log:
Somehow the EA fix got missed merging to head.
Jeremy.

Modified:
   trunk/source/libsmb/clifile.c


Changeset:
Modified: trunk/source/libsmb/clifile.c
===================================================================
--- trunk/source/libsmb/clifile.c	2005-12-17 01:01:51 UTC (rev 12298)
+++ trunk/source/libsmb/clifile.c	2005-12-17 01:06:23 UTC (rev 12299)
@@ -1404,19 +1404,29 @@
 	char *p;
 	size_t ea_namelen = strlen(ea_name);
 
-	data_len = 4 + 4 + ea_namelen + 1 + ea_len;
-	data = SMB_MALLOC(data_len);
-	if (!data) {
-		return False;
+	if (ea_namelen == 0 && ea_len == 0) {
+		data_len = 4;
+		data = SMB_MALLOC(data_len);
+		if (!data) {
+			return False;
+		}
+		p = data;
+		SIVAL(p,0,data_len);
+	} else {
+		data_len = 4 + 4 + ea_namelen + 1 + ea_len;
+		data = SMB_MALLOC(data_len);
+		if (!data) {
+			return False;
+		}
+		p = data;
+		SIVAL(p,0,data_len);
+		p += 4;
+		SCVAL(p, 0, 0); /* EA flags. */
+		SCVAL(p, 1, ea_namelen);
+		SSVAL(p, 2, ea_len);
+		memcpy(p+4, ea_name, ea_namelen+1); /* Copy in the name. */
+		memcpy(p+4+ea_namelen+1, ea_val, ea_len);
 	}
-	p = data;
-	SIVAL(p,0,data_len);
-	p += 4;
-	SCVAL(p, 0, 0); /* EA flags. */
-	SCVAL(p, 1, ea_namelen);
-	SSVAL(p, 2, ea_len);
-	memcpy(p+4, ea_name, ea_namelen+1); /* Copy in the name. */
-	memcpy(p+4+ea_namelen+1, ea_val, ea_len);
 
 	if (!cli_send_trans(cli, SMBtrans2,
 		NULL,                        /* name */



More information about the samba-cvs mailing list