From 6d497629b22f67bcaa4d074e0bee728808cfd4be Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 5 Nov 2018 02:05:12 +0000 Subject: More verbose message at unsafe header git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mjit.c b/mjit.c index 2bdd53c329..ffaff8e1d8 100644 --- a/mjit.c +++ b/mjit.c @@ -422,15 +422,18 @@ init_header_filename(void) return FALSE; } #ifndef LOAD_RELATIVE - if ((basedir == build_dir) && - (fstat(fd, &st) || - st.st_uid != getuid() || - (st.st_mode & 022))) { - (void)close(fd); - verbose(1, "Unsafe header file: %s", header_file); - xfree(header_file); - header_file = NULL; - return FALSE; + if (basedir == build_dir) { + memset(&st, 0, sizeof(st)); + if (fstat(fd, &st) || + (st.st_uid != getuid()) || + (st.st_mode & 022)) { + (void)close(fd); + verbose(1, "Unsafe header file: uid=%ld mode=%#o %s", + (long)st.st_uid, (unsigned)st.st_mode, header_file); + xfree(header_file); + header_file = NULL; + return FALSE; + } } #endif (void)close(fd); -- cgit v1.2.3