summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-08-28 03:15:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:38:55 -0500
commit28369f04b4974092e7fff6d33afeefe4e3a184e1 (patch)
tree8bc2b42e1bb930d662fcd7534535706b24e110cd
parent5f925a01908384fe9b49447677501e4f6aa3912e (diff)
downloadsamba-28369f04b4974092e7fff6d33afeefe4e3a184e1.tar.gz
samba-28369f04b4974092e7fff6d33afeefe4e3a184e1.tar.bz2
samba-28369f04b4974092e7fff6d33afeefe4e3a184e1.zip
r17869: More sensible fix for Stanford Checker null deref.
Jeremy. (This used to be commit 2a73e82f9663fc0e14b4c2af94de3b4216f1eece)
-rw-r--r--source3/lib/xfile.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/source3/lib/xfile.c b/source3/lib/xfile.c
index 503e8c8359..8824ca2c3c 100644
--- a/source3/lib/xfile.c
+++ b/source3/lib/xfile.c
@@ -259,7 +259,7 @@ int x_fflush(XFILE *f)
return -1;
}
- if (f->bufused == 0) return 0;
+ if (f->bufused == 0 || !f->buf) return 0;
ret = write(f->fd, f->buf, f->bufused);
if (ret == -1) return -1;
@@ -267,9 +267,7 @@ int x_fflush(XFILE *f)
f->bufused -= ret;
if (f->bufused > 0) {
f->flags |= X_FLAG_ERROR;
- if (f->buf) {
- memmove(f->buf, ret + (char *)f->buf, f->bufused);
- }
+ memmove(f->buf, ret + (char *)f->buf, f->bufused);
return -1;
}