There is a related bug still in this file in ldobj() I think:

        if(nhunk < sizeof(Prog))
                gethunk();
        p = (Prog*)hunk;
        nhunk -= sizeof(Prog);
        hunk += sizeof(Prog);

it should be while(chunk < sizeof(Prog))
(or even better again, a simple call to malloc(sizeof(Prog))


On Dec 9, 2014, at 4:21 PM, yoann padioleau <aryx.pada...@gmail.com> wrote:

> in 5l/obj.c#zaddr()
> there is:
>       case D_FCONST:
>               while(nhunk < sizeof(Ieee))
>                       gethunk();
>               a->ieee = (Ieee*)hunk;
>               nhunk -= NSNAME;
>               hunk += NSNAME;
> 
> I think it’s a copy paste bug, it should
> be sizeof(Ieee) instead of those NSNAME
> (or even better the whole code could be factorized
> in a call to a->ieee = malloc(sizeof(Ieee));
> 


Reply via email to