[OpenAFS] crashes in rx library on 64-Bit systems, affecting
klog, aklog, etc...
Derrick J Brashear
Wed, 14 Dec 2005 10:40:33 -0500 (EST)
Please don't cc openafs-bugs when you post to openafs-info. Then every
clever person who just replies to all opens a new bug.
Post twice, or bcc openafs-bugs or something.
I'll take care of this.
On Wed, 14 Dec 2005, Rainer Toebbicke wrote:
> Some xdr_XXXX routines in src/rx use osi_alloc() which is defined as
> returning a char * in rx_misc.c, but do not declare it.
> Consequently, the function call is considered to return an int which
> truncates the pointer on systems (e.g. ia64) where an intis shorter than a
> char *. Affected are xdr_array.c (hence everything calling pr_SNameToId())
> and xdr_reference.c.
> The attached patch declares osi_alloc by including the "rx.h" file which also
> deals with the special cases (e.g. the different #define for kernel code).
> Remark: somebody has obviously noticed this already and tried to cast the
> result of osi_alloc using (caddr_t) - I see an xdr_arrayn.c there which has
> this. BUT: it does not work like that - casting an int to something bigger
> doesn't recover the previous contents.
> Rainer Toebbicke
> European Laboratory for Particle Physics(CERN) - Geneva, Switzerland
> Phone: +41 22 767 8985 Fax: +41 22 767 7155