From: Tom Hughes Date: Mon, 3 Oct 2005 09:06:36 +0000 (+0000) Subject: Allow scripts less that a page in length to be executed. X-Git-Tag: svn/VALGRIND_3_1_0~379 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b5092f64c7a4c845f3679e9d842870407a9ab35;p=thirdparty%2Fvalgrind.git Allow scripts less that a page in length to be executed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4849 --- diff --git a/coregrind/m_ume.c b/coregrind/m_ume.c index 09f47d92d1..40091f722f 100644 --- a/coregrind/m_ume.c +++ b/coregrind/m_ume.c @@ -794,8 +794,12 @@ static int do_exec_inner(const char *exe, struct exeinfo *info) return err; } - sres = VG_(pread)(fd, buf, sizeof(buf), 0); - if (sres.isError || sres.val != sizeof(buf)) { + bufsz = VG_(fsize)(fd); + if (bufsz > sizeof(buf)) + bufsz = sizeof(buf); + + sres = VG_(pread)(fd, buf, bufsz, 0); + if (sres.isError || sres.val != bufsz) { VG_(printf)("Can't read executable header: %s\n", VG_(strerror)(sres.val)); VG_(close)(fd);