Bug 533002

Summary: segfault in rdesktop passing -r disk:home=.
Product: [Fedora] Fedora Reporter: Felix Möller <mail>
Component: rdesktopAssignee: Søren Sandmann Pedersen <sandmann>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: dominik, jamundso, kem, nenad, sandmann
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-04 03:30:42 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:

Description Felix Möller 2009-11-04 16:40:45 UTC
Description of problem:
My rdesktop crashes when connecting to a university windows server and passing " -r disk:home=."

Version-Release number of selected component (if applicable):
rdesktop-1.6.0-7.fc12.i686

How reproducible:
allways

Steps to Reproduce:
1. rdesktop yourhost -r disk:home=.
2. login
3. wait a few seconds
  
Actual results:
rdesktop crashes:
0x00459424 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install libXau-1.0.5-1.fc12.i686 libXcursor-1.1.10-1.fc12.i686 libXfixes-4.0.4-1.fc12.i686 libXrender-0.9.5-1.fc12.i686 libxcb-1.4-1.fc12.i686 nss-mdns-0.10-8.fc12.i686 zlib-1.2.3-23.fc12.i686
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x0807062e in disk_query_information (handle=5, info_class=4, out=0xbf95096c) at disk.c:642
642		if (filename && filename[0] == '.')
(gdb) list
637		file_attributes = 0;
638		if (S_ISDIR(filestat.st_mode))
639			file_attributes |= FILE_ATTRIBUTE_DIRECTORY;
640	
641		filename = 1 + strrchr(path, '/');
642		if (filename && filename[0] == '.')
643			file_attributes |= FILE_ATTRIBUTE_HIDDEN;
644	
645		if (!file_attributes)
646			file_attributes |= FILE_ATTRIBUTE_NORMAL;


Expected results:
having a network drive.

Additional info:

Comment 2 Bug Zapper 2009-11-16 15:05:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Felix Möller 2009-11-16 23:02:47 UTC
I have reported the issue upstream:
https://sourceforge.net/tracker/?func=detail&aid=2898759&group_id=24366&atid=381347

Comment 4 Felix Möller 2010-01-09 23:37:25 UTC
adding backtrace of abrt.

warning: section .gnu.liblist not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .dynbss not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .gnu.liblist not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .dynbss not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: the debug information found in "/usr/lib/debug//usr/lib/gconv/UTF-16.so.debug" does not match "/usr/lib/gconv/UTF-16.so" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib/gconv/UTF-16.so.debug" does not match "/usr/lib/gconv/UTF-16.so" (CRC mismatch).

warning: section .gnu.liblist not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/bin/rdesktop.debug
warning: section .dynbss not found in /usr/lib/debug/usr/bin/rdesktop.debug
Core was generated by `rdesktop wi-farm.uni-muenster.de -r disk:home . -u f_moel03 -d WI -kde -a16 -g'.
Program terminated with signal 11, Segmentation fault.
#0  0x0807062e in disk_query_information (handle=5, info_class=4, 
    out=0xbfe10a4c) at disk.c:642
642		if (filename && filename[0] == '.')

Thread 1 (Thread 15844):
#0  0x0807062e in disk_query_information (handle=5, info_class=4, 
    out=0xbfe10a4c) at disk.c:642
        file_attributes = 16
        filestat = {st_dev = 2052, __pad1 = 0, __st_ino = 139347, 
          st_mode = 16877, st_nlink = 29, st_uid = 500, st_gid = 500, 
          st_rdev = 0, __pad2 = 0, st_size = 4096, st_blksize = 4096, 
          st_blocks = 8, st_atim = {tv_sec = 1263077844, tv_nsec = 0}, 
          st_mtim = {tv_sec = 1263077849, tv_nsec = 0}, st_ctim = {
            tv_sec = 1263077849, tv_nsec = 0}, st_ino = 139347}
#1  0x0806e03c in rdpdr_process_irp (s=0x80c7300) at rdpdr.c:570
        result = 0
        length = <value optimized out>
        request = 0
        file = 5
        info_level = 16877
        buffer_len = <value optimized out>
        id = 1
        major = <value optimized out>
        minor = 0
        device = 0
        offset = 2097152
        bytes_out = <value optimized out>
        share_mode = 7
        disposition = 1
        total_timeout = <value optimized out>
        interval_timeout = <value optimized out>
        flags_and_attributes = 2097152
        filename = '\000' <repeats 1040 times>, "3\253v", '\000' <repeats 21 times>"\200, \024\341\277\024\025\341\277\b\000\000\000\000\000\000\000\b\000\000\000\364\357\206\000\200\024\341\277sz\a\bX\024\341\277\362\327s\000\200\024\341\277sz\a\b", '\000' <repeats 24 times>"\300, \023\341\277", '\000' <repeats 80 times>"\377, \377\377\377", '\000' <repeats 28 times>, " ", '\000' <repeats 31 times>"\300, \023\341\277\237\017\000\000\370\377\377\377", '\000' <repeats 12 times>"\377, \377\377\377\000\000\000\000\001\000\000\000\000\000\000\000\246\345s\000\000\000\000\000d\025\341\277sz\a\b\000\355\206\000\024\025\341\277\v\000\000\000\\z\a\b\000\000\000\000h\025\341\277\\z\a\b#", '\000' <repeats 475 times>, "3\253v", '\000' <repeats 21 times>"\340, \027\341\277t\030\341\277\001\000\000\000\000\000\000\000\001\000\000\000\364\357\206\000\000\027\203\000\000\000\000\000"...
        buffer = 0x97a2170 ""
        out = {p = 0x97a2170 "", end = 0x0, data = 0x97a2170 "", size = 4, 
          iso_hdr = 0x0, mcs_hdr = 0x0, sec_hdr = 0x0, rdp_hdr = 0x0, 
          channel_hdr = 0x0}
        fns = 0x8083820
        rw_blocking = 0
        status = <value optimized out>
#2  0x0806e9b3 in rdpdr_process (s=0x0) at rdpdr.c:799
        magic = 0x41ed <Address 0x41ed out of bounds>
#3  0x08061ef8 in sec_recv (
    rdpver=0xbfe11b8f "\003\270\034\341\277\274\034\341\277\070\034\341\277\063D\006\b") at secure.c:828
        sec_flags = <value optimized out>
        channel = 1005
        s = 0x80c7300
#4  0x08063a7b in rdp_recv (type=0xbfe11bfb "") at rdp.c:89
        rdp_s = 0x0
        length = <value optimized out>
        pdu_type = <value optimized out>
        rdpver = <value optimized out>
#5  0x08064433 in rdp_loop (deactivated=0xbfe11cbc, 
    ext_disc_reason=0xbfe11cb8) at rdp.c:1411
        type = 0 '\000'
        s = 0xbfe11cb8
#6  0x0806500c in rdp_main_loop (deactivated=0xbfe11cbc, 
    ext_disc_reason=0xbfe11cb8) at rdp.c:1396
No locals.
#7  0x0804ddc0 in main (argc=14, argv=0xbfe12094) at rdesktop.c:954
        server = "wi-farm.uni-muenster.de", '\000' <repeats 40 times>
        fullhostname = "thinkpad\000\000\000\000\b\000\000\000\260\334w\000\277\000\000\000$\037\341\277`\035\203\000\260\334w\000H\000\000\000\000\000\000\000\364\357\206\000g\037\341\277f\037\341\277p\037\341\277Q\340w"
        domain = "WI", '\000' <repeats 13 times>
        password = '\000' <repeats 63 times>
        shell = "\000\064.fc12.i686.PAE", '\000' <repeats 39 times>, "#1 SMP Mon Dec 21 06:04:56 UTC 2009", '\000' <repeats 30 times>, "i686", '\000' <repeats 61 times>, "(none)", '\000' <repeats 59 times>, "\004\b\244\231\004\b"
        directory = "\000\000\000\000\332|\213\000j\305w\000\372\035\341\277\000\000\000\000\003\000\000\000\333|\213\000\003\000\000\000\000\000\000\000\003\000\000\000\373\035\341\277\332|\213\000\000\000\000\000\372\035\341\277\001\000\000\000\003\000\000\000\331|\213\000\372\035\341\277\003\000\000\000\364\357\213\000\367\035\341\277\000\260o\000\340\037\341\277\360\307\212\000\367\035\341\277\331|\213\000\000\000\000\000\000\000\000\000\070\037\341\277Linux", '\000' <repeats 60 times>, "thinkpad", '\000' <repeats 57 times>, "2.6.31.9-1"
        prompt_password = 0
        deactivated = <value optimized out>
        pw = <value optimized out>
        flags = <value optimized out>
        ext_disc_reason = 0
        p = 0x0
        c = <value optimized out>
        locale = 0x9769830 "tion"
        username_option = 1
        geometry_option = 1
        run_count = 0
        continue_connect = 1
        rdpsnd_optarg = 0x0
From        To          Syms Read   Shared Object Library
0x00223a40  0x00305848  Yes (*)     /usr/lib/libcrypto.so.10
0x008768b0  0x0087d178  Yes (*)     /usr/lib/libpcsclite.so.1
0x008f8370  0x00989798  Yes (*)     /usr/lib/libX11.so.6.3.0
0x008ac300  0x008b7c28  Yes (*)     /lib/libpthread.so.0
0x00714990  0x008204e0  Yes (*)     /lib/libc.so.6
0x008a1a60  0x008a2a88  Yes (*)     /lib/libdl.so.2
0x008c5620  0x008d08e8  Yes (*)     /lib/libz.so.1
0x00a49e80  0x00a58608  Yes (*)     /usr/lib/libxcb.so.1.1.0
0x006dc830  0x006f3ccf  Yes (*)     /lib/ld-linux.so.2
0x00a3ea00  0x00a3f7f8  Yes (*)     /usr/lib/libXau.so.6.0.0
0x00110430  0x001118e8  Yes (*)     /usr/lib/gconv/UTF-16.so
0x00a99a00  0x00aa10c8  Yes (*)     /lib/libnss_files.so.2
0x001a4810  0x001a5658  Yes (*)     /lib/libnss_mdns4_minimal.so.2
0x00ebec00  0x00ec21d8  Yes (*)     /lib/libnss_dns.so.2
0x00b50650  0x00b5eb58  Yes (*)     /lib/libresolv.so.2
0x00db6e40  0x00dbc458  Yes (*)     /usr/lib/libXcursor.so.1.0.2
0x00d1d2c0  0x00d23178  Yes (*)     /usr/lib/libXrender.so.1.3.0
0x00c13e70  0x00c163a8  Yes (*)     /usr/lib/libXfixes.so.3.1.0
(*): Shared library is missing debugging information.
Debuginfo absent: 0e49cdf64626730fec56854f57f37854c26cfa79
Debuginfo absent: 0f3c1c084dc51335be1fe46ac88fb2c3aa096975
Debuginfo absent: 6cd4636621299d6853810f26237cee27a78a7141
Debuginfo absent: 73524bd854d64b3e72237f9c6ed6be2efd2a74dd
Debuginfo absent: 7edf0853d4fdfe1a43ed0cb8ad46da83cd18ace4
Debuginfo absent: 8c5d16938b43c78d41477f89f18d3ce24f0961b9
Debuginfo absent: bea0bdd27b8b87f4b423339693385c5526d6b1cd
Debuginfo absent: c8e2ed3cd0c8026a7808f494ee79a866b234aeda

Comment 5 Felix Möller 2010-01-10 00:22:11 UTC
The problem is in the following code:

        filename = 1 + strrchr(path, '/');
        if (filename && filename[0] == '.')
                file_attributes |= FILE_ATTRIBUTE_HIDDEN;

In case strchr does not find a / filename is 1...

Therefore passing -r disk:home=./ fixes the problem for the user. ;)

Comment 6 Jerry Amundson 2010-09-02 04:05:44 UTC
My assumption is that the Assigned To here is either,
1. Deceased, or
2. Not interested.

Comment 7 Jerry Amundson 2010-09-02 17:36:30 UTC
Or,
3. Assigned To is busy, and has other priorities!

My apologies for the earlier remark - I have bugs with no activity for months and assumed otherwise. But I see updates by sandmann as recently as 2010-08-24 09:11:27 EDT.

I'll try to help by marking duplicates. Sorry for the noise.

Comment 8 Bug Zapper 2010-11-04 06:48:41 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Bug Zapper 2010-12-04 03:30:42 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.