https://bugs.kde.org/show_bug.cgi?id=381162

Julian Seward <jsew...@acm.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jsew...@acm.org,
                   |                            |philippe.waroquiers@skynet.
                   |                            |be

--- Comment #2 from Julian Seward <jsew...@acm.org> ---
(In reply to Ivo Raisr from comment #0)
> In function doRegisterAllocation(), array "reg_usage_arr" is currently
> allocated with:
>     LibVEX_Alloc_inline(sizeof(HRegUsage) * instrs_in->arr_used - 1).

Even more bizarrely, if you consider the priority of * vs -, it is:

  ( sizeof(HRegUsage) * instrs_in->arr_used ) - 1

which I'm sure isn't what the original author intended :-)

But that might explain why it works.  And why Philippe's self-hosting 
Memcheck runs never detected it: because LibVEX_Alloc_inline will surely
have rounded that value up to the next word size (or allocation unit,
I think 8 or 16 bytes) and in so doing will have removed the effect
of the "-1".  Bizarre, huh!

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to