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 */

Reply via email to