From: Richard W.M. Jones Date: Sat, 13 Nov 2010 14:49:37 +0000 (+0000) Subject: inspect: Refuse to parse /etc/fstab if it is huge. X-Git-Tag: 1.6.2~15 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=ce10b72e7c3e6b4001baa96919a2e70896e8f016;p=libguestfs.git inspect: Refuse to parse /etc/fstab if it is huge. (cherry picked from commit 692f127447d399db21c2e93026d4d2b0ac1839d1) --- diff --git a/src/inspect.c b/src/inspect.c index 79b43e9..09dcecf 100644 --- a/src/inspect.c +++ b/src/inspect.c @@ -580,6 +580,14 @@ static int check_fstab (guestfs_h *g, struct inspect_fs *fs) { int r; + int64_t size; + + /* Security: Refuse to do this if /etc/fstab is huge. */ + size = guestfs_filesize (g, "/etc/fstab"); + if (size == -1 || size > 100000) { + error (g, _("size of /etc/fstab unreasonable (%" PRIi64 " bytes)"), size); + return -1; + } /* XXX What if !feature_available (g, "augeas")? */ if (guestfs_aug_init (g, "/", 16|32) == -1)