From: Jeremy Allison Date: Fri, 12 Jun 2009 20:55:18 +0000 (-0700) Subject: Check for error in transfer_file return also. X-Git-Tag: tdb-1.1.5~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f409b00dc7100bfd574848a4d3ebd04ef3825baf;p=thirdparty%2Fsamba.git Check for error in transfer_file return also. Jeremy. --- diff --git a/source3/smbd/close.c b/source3/smbd/close.c index bc54bacbc8e..760a2d520cc 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -106,7 +106,13 @@ static NTSTATUS check_magic(struct files_struct *fsp) return map_nt_error_from_unix(err); } - transfer_file(tmp_fd,outfd,(SMB_OFF_T)st.st_ex_size); + if (transfer_file(tmp_fd,outfd,(SMB_OFF_T)st.st_ex_size) == (SMB_OFF_T)-1) { + int err = errno; + close(tmp_fd); + close(outfd); + TALLOC_FREE(ctx); + return map_nt_error_from_unix(err); + } close(tmp_fd); if (close(outfd) == -1) { TALLOC_FREE(ctx);