[Bug 1573307] Re: wget crashed with SIGSEGV in __memset_avx2()
Chen-Han Hsiao (Stanley)
1573307 at bugs.launchpad.net
Fri Feb 24 07:53:16 UTC 2017
This issue could be reproduced with following command. More easily to be
reproduced with narrow terminal (such as 40 characters width)
wget http://old-releases.ubuntu.com/releases/16.04.0/ubuntu-16.04
-desktop-amd64.iso
This issue has been fixed by the following commit
http://git.savannah.gnu.org/cgit/wget.git/commit/?id=7099f4899880eaefc2c40a3dc7693ab4174a819b
>From 7099f4899880eaefc2c40a3dc7693ab4174a819b Mon Sep 17 00:00:00 2001
From: Darshit Shah <darnir at gmail.com>
Date: Mon, 22 Feb 2016 15:08:15 +0100
Subject: [PATCH] Sanitize value sent to memset to prevent SEGFAULT
---
src/progress.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/progress.c b/src/progress.c
index 93f6246..8a5df21 100644
--- a/src/progress.c
+++ b/src/progress.c
@@ -1164,6 +1164,8 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
}
padding = bp->width - count_cols (bp->buffer);
+ assert (padding > 0 && "Padding length became non-positive!");
+ padding = padding > 0 ? padding : 0;
memset (p, ' ', padding);
p += padding;
*p = '\0';
@@ -1174,6 +1176,9 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
* from the release code since we do not want Wget to crash and burn when the
* assertion fails. Instead Wget should continue downloading and display a
* horrible and irritating progress bar that spams the screen with newlines.
+ *
+ * By default, all assertions are disabled in a Wget build and are enabled
+ * only with the --enable-assert configure option.
*/
assert (count_cols (bp->buffer) == bp->width);
}
--
2.7.4
** Patch added: "wget_1.17.1-1ubuntu1.2.debdiff"
https://bugs.launchpad.net/ubuntu/+source/wget/+bug/1573307/+attachment/4825717/+files/wget_1.17.1-1ubuntu1.2.debdiff
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to wget in Ubuntu.
https://bugs.launchpad.net/bugs/1573307
Title:
wget crashed with SIGSEGV in __memset_avx2()
Status in wget package in Ubuntu:
Confirmed
Bug description:
EDIT(other user): The crash actually happens when the terminal window
is too small.
When I try to download a big file with wget on Ubuntu 16.04 it crashes
after a couple seconds.
To reproduce the bug try the following:
wget http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
I've asked another guy on IRC on channel #ubuntu-it to try and reproduce this bug
and he said it was crashing also on his machine.
evan at HPPC:~$ lsb_release -rd
Description: Ubuntu 16.04 LTS
Release: 16.04
evan at HPPC:~$ apt-cache policy wget
wget:
Installato: 1.17.1-1ubuntu1
Candidato: 1.17.1-1ubuntu1
Tabella versione:
*** 1.17.1-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
ProblemType: Crash
DistroRelease: Ubuntu 16.04
Package: wget 1.17.1-1ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
Uname: Linux 4.4.0-21-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Apr 22 01:34:10 2016
ExecutablePath: /usr/bin/wget
InstallationDate: Installed on 2016-04-21 (0 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
ProcCmdline: wget http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
SegvAnalysis:
Segfault happened at: 0x7f4eac3b7328 <__memset_avx2+392>: rep stos %al,%es:(%rdi)
PC (0x7f4eac3b7328) ok
source "%al" ok
destination "%es:(%rdi)" (0x562969134000) not located in a known VMA region (needed writable region)!
SegvReason: writing unknown VMA
Signal: 11
SourcePackage: wget
StacktraceTop:
__memset_avx2 () at ../sysdeps/x86_64/multiarch/memset-avx2.S:161
?? ()
?? ()
?? ()
?? ()
Title: wget crashed with SIGSEGV in __memset_avx2()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wget/+bug/1573307/+subscriptions
More information about the foundations-bugs
mailing list