labwc/include/common
tokyo4j 70fb713874 img: fix UAF on Reconfigure by refcounting
Before this commit, there was a use-after-free bug on Reconfigure:
- theme_finish() destroys lab_imgs for titlebar icons
- For some reason, undecorate() calls _create_buffer() in
  scaled-img-buffer.c, which calls img_render() on a destroyed lab_img.

So in this commit, the lifetime of lab_img is expanded to when the
scaled_img_buffers referencing it are all destroyed. This is achieved by
calling lab_img_copy() when setting a lab_img to scaled_img_buffer and
calling lab_img_destroy() when clearing a lab_img.

Now that scaled_img_buffer.img are always different, lab_img_equal() is
added to compare the content of scaled_img_buffer.img.
2025-01-04 09:10:02 +01:00
..
array.h
border.h
box.h ssd: rework titlebar button rendering 2024-12-23 18:11:32 +09:00
buf.h
dir.h
direction.h
fd-util.h
file-helpers.h
font.h scaled-scene-buffer: reduce unnecessary renderings 2024-12-18 17:21:29 +09:00
grab-file.h
graphic-helpers.h buffer: always set buffer->{cairo,surface} for simplification 2024-11-28 18:56:03 +09:00
list.h common/list: add WL_LIST_INIT() macro 2024-11-21 20:31:41 +00:00
macros.h
match.h docs: simplify description of shell wildcard patterns 2024-12-01 20:17:04 +01:00
mem.h common/mem.h: introduce xstrdup_replace() 2024-11-16 22:13:17 +00:00
nodename.h
parse-bool.h Make enum three_state public 2024-12-31 16:23:47 +00:00
parse-double.h
scaled-font-buffer.h font: remove arrow character from font buffer 2024-12-14 20:09:53 +00:00
scaled-img-buffer.h img: fix UAF on Reconfigure by refcounting 2025-01-04 09:10:02 +01:00
scaled-rect-buffer.h Add scaled_rect_buffer 2024-11-25 19:41:07 +00:00
scaled-scene-buffer.h scaled-scene-buffer: reduce unnecessary renderings 2024-12-18 17:21:29 +09:00
scene-helpers.h
set.h key-state.c: generalize set operations 2024-10-13 20:45:16 +01:00
spawn.h
string-helpers.h string-helpers.c: add str_starts_with() 2024-12-18 18:32:25 +00:00
surface-helpers.h
three-state.h Make enum three_state public 2024-12-31 16:23:47 +00:00