From: Jeremy Allison Date: Fri, 9 May 2008 05:07:27 +0000 (-0700) Subject: Fix bug #5452 - smbclient put always creates zero length X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7982f573dd2d339fea50c1811a42816c7721279;p=thirdparty%2Fsamba.git Fix bug #5452 - smbclient put always creates zero length files. Thanks to Kai Engert for reporting. Karolin - this is a showstopper and must be pulled into 3.2-stable. Thanks ! Jeremy. --- diff --git a/source/lib/xfile.c b/source/lib/xfile.c index d20a95b03a3..e44a92d34dc 100644 --- a/source/lib/xfile.c +++ b/source/lib/xfile.c @@ -263,13 +263,13 @@ int x_fflush(XFILE *f) if (f->flags & X_FLAG_ERROR) return -1; + if (f->bufused == 0 || !f->buf) return 0; + if ((f->open_flags & O_ACCMODE) != O_WRONLY) { errno = EINVAL; return -1; } - if (f->bufused == 0 || !f->buf) return 0; - ret = write(f->fd, f->buf, f->bufused); if (ret == -1) return -1;