Bug 580226

Summary: passing proxy=http://url to kernel causes SIGSEGV in loader
Product: [Fedora] Fedora Reporter: Brian Lane <bcl>
Component: anacondaAssignee: Chris Lumens <clumens>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: anaconda-maint-list, awilliam, jlaska, jonathan, marcus.moeller, vanmeeuwen+fedora
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: anaconda-13.38-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 580683 (view as bug list) Environment:
Last Closed: 2010-05-17 14:36:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 507681, 580683    
Attachments:
Description Flags
Booting netboot.iso with proxy passed to kernel none

Description Brian Lane 2010-04-07 18:59:45 UTC
Created attachment 405069 [details]
Booting netboot.iso with proxy passed to kernel

Description of problem:
loader crashes when passing proxy to the kernel

Version-Release number of selected component (if applicable):
13.37.2

How reproducible:


Steps to Reproduce:
1. Boot install media, hit tab at grub menu
2. Add proxy=http://proxy.home:3128 to the kernel line
3. Hit enter and attempt to install
  
Actual results:
loader throws a SIGSEGV

Expected results:
Continue with stage2

Additional info:
Tested on Beta RC5 netboot.iso and disc1.iso

Comment 1 Chris Lumens 2010-04-07 19:16:13 UTC
0x40b90e - /usr/src/debug/anaconda-13.37.2/loader/loader.c:2317

Comment 2 Chris Lumens 2010-04-08 14:49:25 UTC
Could it be as simple as:

diff --git a/loader/loader.c b/loader/loader.c
index a9514d1..b96923b 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2332,14 +2332,14 @@ int main(int argc, char ** argv) {
 
             *argptr++ = strdup(loaderData.proxy);
 
-            if (strcmp(loaderData.proxyUser, "")) {
+            if (loaderData.proxyUser && strcmp(loaderData.proxyUser, "")) {
                 int fd, ret;
 
                 fd = open("/tmp/proxy", O_CREAT|O_TRUNC|O_RDWR, 0600);
                 ret = write(fd, loaderData.proxyUser, strlen(loaderData.proxyUser));
                 ret = write(fd, "\r\n", 2);
 
-                if (loaderData.proxyPassword) {
+                if (loaderData.proxyPassword && strcmp(loaderData.proxyPassword, "")) {
                     ret = write(fd, loaderData.proxyPassword, strlen(loaderData.proxyPassword));
                     ret = write(fd, "\r\n", 2);
                 }

Comment 3 Brian Lane 2010-04-09 00:24:39 UTC
This patches fixes the problem. And reveals bug 580756

Comment 4 Adam Williamson 2010-05-03 20:14:08 UTC
Brian confirms the fix, so let's just close this.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 Marcus Moeller 2010-05-17 14:08:37 UTC
While trying to install F13 RC3 through a http proxy, kickstart file is still not retreived.

Not causing SIGSEGV anymore, btw.

Best Regards
Marcus

Comment 6 James Laska 2010-05-17 14:14:39 UTC
(In reply to comment #5)
> While trying to install F13 RC3 through a http proxy, kickstart file is still
> not retreived.
> 
> Not causing SIGSEGV anymore, btw.

Can we file a new bug for this please?  Sounds like the reported SIGSEGV is no longer occurring.

Comment 7 Marcus Moeller 2010-05-17 14:38:03 UTC
Bug: 592985 opened