1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00
JUCE/modules/juce_graphics
reuk ce0fe3dc1e
EdgeTable: Keep better track of buffer memory ranges
Occasionally, on Linux, Address Sanitizer can complain about a memory
region overlap in the arguments to memcpy, originating in
EdgeTable::intersectWithEdgeTableLine. I haven't been able to reproduce
this personally.

The final memcpy call in this function requires there to be
"srcNum1 * 2" valid entries after the current "src1" ptr, and none of
those entries may overlap with the area starting at "temp".

On inspection, I think that the memory region being read is too large.
At the point of the call, src1 will point to a LineItem::level, not
LineItem::x, so there will actually be (srcNum1 * 2 - 1) valid items
following it.

All this pointer arithmetic is very difficult to understand. In an
effort to make this function slightly more understandable, I've switched
to using Spans to delineate lines of the table, which makes it easier to
keep track of the size of each line.
2024-05-20 12:49:55 +01:00
..
colour ColourGradient: Fix assertion in ColourGradient::remove 2024-05-08 17:53:52 +01:00
contexts Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
detail Add new Range related types that help working with attributed text 2024-04-18 14:16:01 +01:00
effects D2D: Add faster two-pass blur implementation 2024-04-29 16:08:24 +01:00
fonts FontOptions: Make it easier to specify font sizes in points 2024-04-29 16:08:22 +01:00
geometry EdgeTable: Keep better track of buffer memory ranges 2024-05-20 12:49:55 +01:00
image_formats Update licensing information 2024-04-16 11:39:35 +01:00
images D2D: Add faster two-pass blur implementation 2024-04-29 16:08:24 +01:00
native D2D: Pass the clearImage flag to the BitmapData backup image 2024-05-10 11:55:28 +01:00
placement Update licensing information 2024-04-16 11:39:35 +01:00
unicode UnicodeData: Remove unnecessary pack pragmas 2024-05-20 12:48:11 +01:00
juce_graphics.cpp Parallelogram: Fix implementations of isEmpty and operator-= 2024-05-08 17:53:51 +01:00
juce_graphics.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_graphics.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_graphics_Harfbuzz.cpp Add Harfbuzz dependency 2024-04-17 14:41:00 +01:00