diff options
Diffstat (limited to 'src/inspect.c')
-rw-r--r-- | src/inspect.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/inspect.c b/src/inspect.c index 3c4c619b..d0041c8e 100644 --- a/src/inspect.c +++ b/src/inspect.c @@ -629,6 +629,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) |