From: Jeremy Allison Date: Fri, 9 May 2008 05:07:35 +0000 (-0700) Subject: Fix bug #5452 - smbclient put always creates zero length X-Git-Tag: samba-4.0.0alpha6~801^2~1461 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=73b65bcd1416cf0f692f861fdb2b92e951f0ea7c;p=thirdparty%2Fsamba.git Fix bug #5452 - smbclient put always creates zero length files. Thanks to Kai Engert for reporting. Jeremy. (This used to be commit 687275cd532f8f8ad710acd222a0c76625da53c6) --- diff --git a/source3/lib/xfile.c b/source3/lib/xfile.c index d20a95b03a3..e44a92d34dc 100644 --- a/source3/lib/xfile.c +++ b/source3/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;