From: Michael Adam Date: Thu, 19 Jul 2007 13:46:26 +0000 (+0000) Subject: r23972: Fix a bug in pwrite error detection in tdb_expand_file(): X-Git-Tag: samba-misc-tags/initial-v3-2-unstable~657 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3af95f0983e9f92c10a80ee4f15a0cd718a4728;p=thirdparty%2Fsamba.git r23972: Fix a bug in pwrite error detection in tdb_expand_file(): The proper error condition is (ret == -1) instead of (ret != number_of_byte_told_to_write). Michael --- diff --git a/source/lib/tdb/common/io.c b/source/lib/tdb/common/io.c index cc66b85b338..ea925f38953 100644 --- a/source/lib/tdb/common/io.c +++ b/source/lib/tdb/common/io.c @@ -234,13 +234,13 @@ static int tdb_expand_file(struct tdb_context *tdb, tdb_off_t size, tdb_off_t ad while (addition) { int n = addition>sizeof(buf)?sizeof(buf):addition; int ret = pwrite(tdb->fd, buf, n, size); - if (ret != n) { + if (ret == -1) { TDB_LOG((tdb, TDB_DEBUG_FATAL, "expand_file write of %d failed (%s)\n", n, strerror(errno))); return -1; } - addition -= n; - size += n; + addition -= ret; + size += ret; } return 0; }