diff options
-rw-r--r-- | source3/smbd/trans2.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 5d0ee08f42..aca7e47d48 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2279,6 +2279,8 @@ static int call_trans2setfilepathinfo(connection_struct *conn, if(size != sbuf.st_size) { + int ret; + DEBUG(10,("call_trans2setfilepathinfo: file %s : setting new size to %.0f\n", fname, (double)size )); @@ -2304,11 +2306,14 @@ static int call_trans2setfilepathinfo(connection_struct *conn, if (new_fsp == NULL) return(UNIXERROR(ERRDOS,ERRbadpath)); - vfs_set_filelen(new_fsp, size); + ret = vfs_set_filelen(new_fsp, size); close_file(new_fsp,True); } else { - vfs_set_filelen(fsp, size); + ret = vfs_set_filelen(fsp, size); } + + if (ret == -1) + return (UNIXERROR(ERRHRD,ERRdiskfull)); } SSVAL(params,0,0); |