[binutils-gdb] [ld, testsuite] Don't print to stdout for "readelf -w" to avoid buffer overflow

Jiong Wang jiwang@sourceware.org
Mon Feb 6 15:58:00 GMT 2017


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=65f90e82590c34d4211ca3c984ef8caaf1808819

commit 65f90e82590c34d4211ca3c984ef8caaf1808819
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Feb 2 17:15:26 2017 +0000

    [ld, testsuite] Don't print to stdout for "readelf -w" to avoid buffer overflow
    
    ld/
    	* testsuite/ld-elf/compress.exp: Don't print to stdout for all
    	"readelf -w".

Diff:
---
 ld/ChangeLog                     | 5 +++++
 ld/testsuite/ld-elf/compress.exp | 8 ++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index ba4de4a..681a0d7 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2017-02-06  Jiong Wang  <jiong.wang@arm.com>
+
+	* testsuite/ld-elf/compress.exp: Don't print to stdout for all
+	"readelf -w".
+
 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
 
 	* testsuite/ld-cris/tls-err-20x.d: Fix a typo, s/n/\n/.
diff --git a/ld/testsuite/ld-elf/compress.exp b/ld/testsuite/ld-elf/compress.exp
index 5620f3c..3fb4bd7 100644
--- a/ld/testsuite/ld-elf/compress.exp
+++ b/ld/testsuite/ld-elf/compress.exp
@@ -171,7 +171,7 @@ if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rt] } then {
 set test_name "Link with zlib compressed debug output"
 set test normal
 send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n"
-set got [remote_exec host "$READELF -w tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
+set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"]
 if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
     send_log "$got\n"
     unresolved "$test_name"
@@ -180,7 +180,7 @@ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
 set test_name "Link with zlib compressed debug output"
 set test zlibnormal
 send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n"
-set got [remote_exec host "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\"" "" "/dev/null" "tmpdir/$test.out"]
+set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"]
 if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
     send_log "$got\n"
     unresolved "$test_name"
@@ -206,7 +206,7 @@ if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
 set test_name "Link with zlib-gnu compressed debug output"
 set test gnunormal
 send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n"
-set got [remote_exec host "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\"" "" "/dev/null" "tmpdir/$test.out"]
+set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"]
 if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
     send_log "$got\n"
     unresolved "$test_name"
@@ -232,7 +232,7 @@ if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
 set test gabinormal
 set test_name "Link with zlib-gabi compressed debug output"
 send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n"
-set got [remote_exec host "$READELF -w tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
+set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"]
 if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
     send_log "$got\n"
     unresolved "$test_name"



More information about the Binutils-cvs mailing list