glibc: inet6_rth_init returned an abnormal address?

Ondřej Bílka neleai@seznam.cz
Thu Dec 11 10:41:00 GMT 2014


On Thu, Dec 11, 2014 at 05:29:48PM +0800, wangyufen wrote:
> Hi,
> 
> I did some test on inet6_rth_init, inet6_rth_init returnned a invalid address;
> But I used inet6_rth_init_ww (the same implementation as inet6_rth_init) in my test code, It returnned a valid address.
> Dose anyone konw why?
> 
Because you used implicit prototype. Compiler then assumes that prototype is

int inet6_rth_init (void *bp, socklen_t bp_len, int type, int segments)

and then sign-extends result, creating invalid pointer.



More information about the Libc-alpha mailing list