Bug 1555 – segfault in std.stdio.readln()

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Linux
Creation time
2007-10-07T21:53:00Z
Last change time
2015-06-09T05:14:42Z
Assigned to
dvdfrdmn
Creator
dlang

Comments

Comment #0 by dlang — 2007-10-07T21:53:08Z
The following program causes a segfault on EOF with gdc-0.24. I've reproduced this on amd64, x86 both with the binary distribution and with the gentoo emerged version (gcc-4.1.2). This does not appear to happen with dmd. ====================================================================== module readline; import std.stdio; void main () { while (1) { char[] buf = readln (); if (buf is null) break; writef ("%s", buf); } } ====================================================================== Upon EOF, there is a segfault inside of a string dup inside of readln: uint std.stdio.readln(struct std.c.stdio._iobuf*, inout char[]) #0 0xb7ed6a2c in memcpy () from /lib/libc.so.6 #1 0x0805992e in _adDupT () #2 0x080546e5 in _D3std5stdio6readlnFPS3std1c5stdio6_iobufKAaZk () #3 0x0805476a in _D3std5stdio6readlnFPS3std1c5stdio6_iobufZAa () #4 0x0804a076 in _Dmain () #5 0x08061018 in _D9dgccmain211_d_run_mainUiPPaPUAAaZiZi2goMFZv () #6 0x080610ca in _d_run_main () #7 0x0805d49b in main () I can try to build phobos with debugging symbols if other are unable to reproduce this problem.
Comment #1 by dvdfrdmn — 2007-10-13T13:47:14Z
Fixed in svn rev 152 / release 0.25. Duplicate of SF issue 1788195