From 6c3825f2b750bf9b913c6ea986739e648c470603 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Wed, 2 Oct 2013 20:30:15 +0200 Subject: Check for negative sizes in file_set_size * libdiskfs/file-set-size.c (diskfs_S_file_set_size): Return EINVAL if size is negative. * libnetfs/file-set-size.c (netfs_S_file_set_size): Likewise. * libtreefs/s-file.c (treefs_S_file_set_size): Likewise. * storeio/io.c (trivfs_S_file_set_size): Likewise. * term/users.c (trivfs_S_file_set_size): Likewise. * trans/null.c (trivfs_S_file_set_size): Likewise. * trans/streamio.c (trivfs_S_file_set_size): Likewise. --- libdiskfs/file-set-size.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libdiskfs') diff --git a/libdiskfs/file-set-size.c b/libdiskfs/file-set-size.c index 18abb469..fe2125ae 100644 --- a/libdiskfs/file-set-size.c +++ b/libdiskfs/file-set-size.c @@ -26,7 +26,7 @@ diskfs_S_file_set_size (struct protid *cred, { CHANGE_NODE_FIELD (cred, ({ - if (!(cred->po->openstat & O_WRITE)) + if (!(cred->po->openstat & O_WRITE) || (size < 0)) err = EINVAL; else if (size < np->dn_stat.st_size) { -- cgit v1.2.3