From f128aa2a550f3672b2d12786ab4bf59e6d749c7a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sun, 26 Sep 2004 22:16:00 +0000 Subject: r2665: Ensure the UNIX info level returned enough data. Jeremy. (This used to be commit 8a7741dddf17dca136144fb26e2d7a42d313467a) --- source3/libsmb/clifile.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source3/libsmb/clifile.c') diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index d302206949..144fc4a0c8 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -205,6 +205,12 @@ BOOL cli_unix_stat(struct cli_state *cli, const char *name, SMB_STRUCT_STAT *sbu return False; } + if (data_len < 96) { + SAFE_FREE(rdata); + SAFE_FREE(rparam); + return False; + } + sbuf->st_size = IVAL2_TO_SMB_BIG_UINT(rdata,0); /* total size, in bytes */ sbuf->st_blocks = IVAL2_TO_SMB_BIG_UINT(rdata,8); /* number of blocks allocated */ sbuf->st_blocks /= STAT_ST_BLOCKSIZE; -- cgit