[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22856: "make check" can start a shell on binary data
From: |
Vincent Lefevre |
Subject: |
bug#22856: "make check" can start a shell on binary data |
Date: |
Mon, 29 Feb 2016 19:59:47 +0100 |
User-agent: |
Mutt/1.5.24-6559-vl-r83103 (2016-02-15) |
When I cross-compile for Windows and run "make check" without
LOG_COMPILER=wine (by mistake), strange files appear.
For instance, as a simple example with MPFR:
cventin:...re/mpfr-3.1/tests> make tadd.log
FAIL: tadd.exe
The failure is expected, but I get:
-rw-r--r-- 1 491 2016-02-29 19:39:24 tadd.log
-rw-r--r-- 1 84 2016-02-29 19:39:24 tadd.trs
-rw-r--r-- 1 0 2016-02-29 19:39:24 \220\324V\366
Created files like "\220\324V\366" are very annoying. In particular,
they make svn unusable.
tadd.log contains:
./tadd.exe: 1: ./tadd.exe: address@hidden: not found
./tadd.exe: 2: ./tadd.exe: : not found
./tadd.exe: 1: ./tadd.exe: @.bss : not found
./tadd.exe: 1: ./tadd.exe: .textd*,: not found
./tadd.exe: 3: ./tadd.exe: address@hidden: not found
./tadd.exe: 3: ./tadd.exe: u
: not found
./tadd.exe: 4: ./tadd.exe: address@hidden@0�.tls: not found
./tadd.exe: 5: ./tadd.exe: @B/81P: not found
./tadd.exe: 13: ./tadd.exe: Syntax error: Missing '}'
FAIL tadd.exe (exit status: 2)
So, it appears that tadd.exe (which is a binary[*]) was executed
by a shell!
[*]
$ file tadd.exe
tadd.exe: PE32 executable (console) Intel 80386, for MS Windows
This is confirmed by strace:
[...]
10517 execve("./tadd.exe", ["./tadd.exe"], [/* 116 vars */]) = -1 ENOEXEC (Exec
format error)
10517 execve("/bin/sh", ["/bin/sh", "./tadd.exe"], [/* 116 vars */]) = 0
[...]
Concerning the Makefile in the tests:
# Makefile.in generated by automake 1.15 from Makefile.am.
# tests/Makefile. Generated from Makefile.in by configure.
This is under Debian/unstable.
--
Vincent Lefèvre <address@hidden> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
- bug#22856: "make check" can start a shell on binary data,
Vincent Lefevre <=