0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

win-capture: Fix leaking framebuffers data

The wrong linked list was used when removing framebuffer data.
Furthermore, a pointer referenced an object on the stack that
was no more valid.
This commit is contained in:
Carl Pédimina 2023-07-25 10:01:28 +02:00 committed by Lain
parent 4b1ba4e605
commit b12ed3008b
2 changed files with 5 additions and 5 deletions

View File

@ -13,7 +13,7 @@
#define HOOK_VER_MAJOR 1
#define HOOK_VER_MINOR 8
#define HOOK_VER_PATCH 1
#define HOOK_VER_PATCH 2
#ifndef STRINGIFY
#define STRINGIFY(s) #s

View File

@ -397,7 +397,7 @@ static void remove_free_framebuffer_data(struct vk_data *data,
const VkAllocationCallbacks *ac)
{
struct vk_swap_data *const framebuffer_data =
(struct vk_swap_data *)remove_obj_data(&data->swaps,
(struct vk_swap_data *)remove_obj_data(&data->framebuffers,
(uint64_t)framebuffer);
vk_free(ac, framebuffer_data);
}
@ -2100,8 +2100,8 @@ OBS_CmdBeginRenderPass(VkCommandBuffer commandBuffer,
{
struct vk_data *const data =
get_device_data_by_command_buffer(commandBuffer);
VkRenderPassBeginInfo alternateBegin;
if (data->valid) {
VkRenderPassBeginInfo alternateBegin;
pRenderPassBegin = process_render_pass_begin_info(
pRenderPassBegin, &alternateBegin, data);
}
@ -2117,8 +2117,8 @@ OBS_CmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,
{
struct vk_data *const data =
get_device_data_by_command_buffer(commandBuffer);
VkRenderPassBeginInfo alternateBegin;
if (data->valid) {
VkRenderPassBeginInfo alternateBegin;
pRenderPassBegin = process_render_pass_begin_info(
pRenderPassBegin, &alternateBegin, data);
}
@ -2134,8 +2134,8 @@ OBS_CmdBeginRenderPass2(VkCommandBuffer commandBuffer,
{
struct vk_data *const data =
get_device_data_by_command_buffer(commandBuffer);
VkRenderPassBeginInfo alternateBegin;
if (data->valid) {
VkRenderPassBeginInfo alternateBegin;
pRenderPassBegin = process_render_pass_begin_info(
pRenderPassBegin, &alternateBegin, data);
}