Bug 73327

Summary: stack smash in cal
Product: [Retired] Red Hat Linux Reporter: Joe Dalton <jdalton2>
Component: util-linuxAssignee: Elliot Lee <sopwith>
Status: CLOSED WORKSFORME QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-07-07 16:03:59 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 Joe Dalton 2002-09-03 00:56:48 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020606

Description of problem:
I have libsafe v2.0.16 installed. When running 'cal' on an xterm, libsafe
terminates it indicating a string overflow into the stack.

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


How reproducible:
Always

Steps to Reproduce:
1.Install libsafe
2. cat '/lib/libsafe.so.2' > /etc/ld.so.preload (one time)
3. run 'cal'
	

Actual Results:  libsafe terminates 'cal' with an error.

Expected Results:  a display of the calender.

Additional info:

[joe@bimbo rpmfiles]$ cal
Libsafe version 2.0.16
Detected an attempt to write across stack boundary.
Terminating /usr/bin/cal.
    uid=500  euid=500  pid=4429
Call stack:
    0x40015982  /lib/libsafe.so.2.0.16
    0x400160a1  /lib/libsafe.so.2.0.16
    0x8048f07   /usr/bin/cal
    0x8048d3d   /usr/bin/cal
    0x400491bf  /lib/libc-2.2.5.so
Overflow caused by wcscat()
Killed
[joe@bimbo rpmfiles]$ 
[joe@bimbo rpmfiles]$ cat /etc/ld.so.preload
/lib/libsafe.so.2
[joe@bimbo rpmfiles]$ 
[joe@bimbo rpmfiles]$ rpm -q libsafe
libsafe-2.0-16
[joe@bimbo rpmfiles]$

Comment 1 Elliot Lee 2002-09-03 13:09:06 UTC
Hi,

Thanks for taking the time to check with libsafe. Unfortunately I really need an actual bug 
report - i.e. telling what's broken (or that you can get an actual segfault to occur) instead of 
just pointing out what libsafe thinks there is a problem (but which may be another false 
alarm).