mpv/osdep
der richter e42a8d537f mac/log: fix use after free when freeing mpv handle
the mp_log is freed when the corresponding mpv_handle (ta_parent) is
freed in the EventHelper, though it could still be used from different
threads. instead don't use a ta_parent and manually free on manual
dereferencing. on app shutdown (memory cleanup) this is not called but
instead is freed by the usual cleanup and freeing.

the LogHelper is only able to be manually dereferenced in the AppHub,
so no race conditions are possible in all other cases (vo).in the AppHub
it's impossible to hit a race condition atm, because of how the init
process works and how/where the log is used. only manually forcing
logging in the exit process itself could theoretically trigger a use
after free.

Fixes #13823
2024-04-12 23:23:16 +02:00
..
android osdep: remove posix_spawn() helpers and wrappers 2020-05-15 16:37:41 +02:00
mac mac/log: fix use after free when freeing mpv handle 2024-04-12 23:23:16 +02:00
compiler.h audio: introduce ao_read_data_nonblocking() 2023-11-08 20:26:23 +01:00
endian.h audio: drop swapped-endian audio formats 2014-09-23 23:09:25 +02:00
getpid.h lua+js: Implement utils.getpid() 2018-02-13 20:16:01 -08:00
glob-win.c Universal Windows Plaform (UWP) support 2017-06-29 10:36:16 +02:00
io.c win32: change fputs to fwrite wrapper 2024-04-07 20:23:04 +02:00
io.h win32: change fputs to fwrite wrapper 2024-04-07 20:23:04 +02:00
language-mac.c osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
language-posix.c language-posix: as a fallback, treat "C" as "en" 2023-07-25 11:34:06 +02:00
language-win.c osdep: add mp_get_user_langs 2023-06-25 11:01:58 +02:00
main-fn-mac.c mac/app: cleanup and optimise App launch and termination 2024-04-01 22:13:39 +02:00
main-fn-unix.c build: move main-fn files to osdep 2015-05-02 18:59:58 +02:00
main-fn-win.c osdep/main-fn-win: fix implicit conversion warning 2024-03-19 08:58:18 +01:00
main-fn.h build: move main-fn files to osdep 2015-05-02 18:59:58 +02:00
mpv.exe.manifest win32: opt in to the windows segment heap 2023-12-22 16:36:31 +01:00
mpv.rc build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
path-darwin.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
path-mac.m osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
path-unix.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
path-uwp.c various: use correct PATH_MAX for win32 2023-12-27 22:55:56 +01:00
path-win.c various: use correct PATH_MAX for win32 2023-12-27 22:55:56 +01:00
path.h osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
poll_wrapper.c vo: don't sleep 1ms always when requested time is in the past 2023-11-09 21:31:58 +00:00
poll_wrapper.h vo: use mp_poll wrapper in wait_events when applicable 2023-10-10 19:10:55 +00:00
semaphore-mac.c osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
semaphore.h various: make mentions of macOS consistent 2024-02-21 20:46:53 +01:00
strnlen.h osdep: make use of HAVE_ANDROID 2018-08-20 17:16:22 +02:00
subprocess-dummy.c command: extend subprocess command 2020-07-20 21:02:17 +02:00
subprocess-posix.c osdep: fix infinite loop when cancelling subprocess 2024-02-11 14:13:22 +01:00
subprocess-win.c various: replace dead links in comments 2024-02-11 04:01:24 +00:00
subprocess.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
subprocess.h command: extend subprocess command stdin, change behavior 2020-08-16 02:54:44 +02:00
terminal-dummy.c win32: change fputs to fwrite wrapper 2024-04-07 20:23:04 +02:00
terminal-unix.c terminal: don't print escape sequence if not tty 2024-01-15 10:39:42 +01:00
terminal-win.c win32: change fputs to fwrite wrapper 2024-04-07 20:23:04 +02:00
terminal.h win32: change fputs to fwrite wrapper 2024-04-07 20:23:04 +02:00
threads-posix.c threads: remove unused code 2023-11-05 17:36:17 +00:00
threads-posix.h osdep/threads: fix warning: initializer element is not constant 2024-03-19 08:58:18 +01:00
threads-win32.h win32: increase hires timer resolution 2024-03-19 20:23:25 +01:00
threads.h threads: unbreak mpv on builds without asserts 2023-11-06 04:14:49 +00:00
timer-darwin.c mac/vulkan: add support for frame timing via presentation feedback 2024-04-10 19:14:20 +02:00
timer-linux.c osdep/timer-linux: check clock availability on init 2023-11-08 04:32:10 +00:00
timer-win32.c win32: increase hires timer resolution 2024-03-19 20:23:25 +01:00
timer.c mac/vulkan: add support for frame timing via presentation feedback 2024-04-10 19:14:20 +02:00
timer.h mac/vulkan: add support for frame timing via presentation feedback 2024-04-10 19:14:20 +02:00
utils-mac.c osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
utils-mac.h osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
w32_keyboard.c win32: properly handle WM_XBUTTONUP and WM_XBUTTONDOWN 2023-12-06 11:07:37 +01:00
w32_keyboard.h w32_common: handle media keys 2017-08-05 02:38:44 +10:00
win32-console-wrapper.c win32-console-wrapper: fix printf specifiers 2024-03-19 19:56:25 +01:00
windows_utils.c win32: implement shell link target resolving 2024-03-19 11:34:00 +01:00
windows_utils.h win32: implement shell link target resolving 2024-03-19 11:34:00 +01:00