Skip to content

Commit

Permalink
Fixed double free of generated port metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
sadko4u committed Sep 28, 2023
1 parent 2cb2141 commit 4975f94
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 17 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Expand Up @@ -4,6 +4,7 @@

=== 1.0.18 ===
* Fixed parameter ranges for CLAP plugin wrapper.
* Fixed double free of generated port metadata.
* Added LUFS units to metadata.
* Added support of 'zero' property by the Axis controller.

Expand Down
10 changes: 7 additions & 3 deletions include/lsp-plug.in/plug-fw/wrap/clap/impl/wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2022 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2022 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 24 дек. 2022 г.
Expand Down Expand Up @@ -110,7 +110,11 @@ namespace lsp

// Cleanup generated metadata
for (size_t i=0, n=vGenMetadata.size(); i<n; ++i)
meta::drop_port_metadata(vGenMetadata.uget(i));
{
meta::port_t *p = vGenMetadata.uget(i);
lsp_trace("destroy generated port metadata %p", p);
meta::drop_port_metadata(p);
}
vGenMetadata.flush();

// Destroy the loader
Expand Down
5 changes: 3 additions & 2 deletions include/lsp-plug.in/plug-fw/wrap/jack/impl/ui_wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2022 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2022 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 31 янв. 2022 г.
Expand Down Expand Up @@ -151,6 +151,7 @@ namespace lsp
lsp_trace("destroy generated UI port metadata %p", port);
meta::drop_port_metadata(port);
}
vGenMetadata.flush();

// Destroy the display
if (pDisplay != NULL)
Expand Down
5 changes: 3 additions & 2 deletions include/lsp-plug.in/plug-fw/wrap/jack/impl/wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2022 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2022 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 31 янв. 2022 г.
Expand Down Expand Up @@ -466,6 +466,7 @@ namespace lsp
// lsp_trace("destroy generated port metadata %p", port);
meta::drop_port_metadata(port);
}
vGenMetadata.flush();

// Clear all other port containers
vDataPorts.flush();
Expand Down
4 changes: 2 additions & 2 deletions include/lsp-plug.in/plug-fw/wrap/ladspa/impl/wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2021 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2021 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 26 янв. 2022 г.
Expand Down
4 changes: 2 additions & 2 deletions include/lsp-plug.in/plug-fw/wrap/ladspa/wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2021 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2021 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 1 нояб. 2021 г.
Expand Down
10 changes: 6 additions & 4 deletions include/lsp-plug.in/plug-fw/wrap/lv2/impl/ui_wrapper.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2021 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2021 Vladimir Sadovnikov <sadko4u@gmail.com>
* Copyright (C) 2023 Linux Studio Plugins Project <https://lsp-plug.in/>
* (C) 2023 Vladimir Sadovnikov <sadko4u@gmail.com>
*
* This file is part of lsp-plugin-fw
* Created on: 24 нояб. 2021 г.
Expand Down Expand Up @@ -155,9 +155,11 @@ namespace lsp
// Cleanup generated metadata
for (size_t i=0; i<vGenMetadata.size(); ++i)
{
lsp_trace("destroy generated port metadata %p", vGenMetadata[i]);
drop_port_metadata(vGenMetadata[i]);
meta::port_t *p = vGenMetadata.uget(i);
lsp_trace("destroy generated port metadata %p", p);
drop_port_metadata(p);
}
vGenMetadata.flush();

vExtPorts.flush();
vMeshPorts.flush();
Expand Down
6 changes: 4 additions & 2 deletions include/lsp-plug.in/plug-fw/wrap/vst2/impl/wrapper.h
Expand Up @@ -195,9 +195,11 @@ namespace lsp
// Cleanup generated metadata
for (size_t i=0; i<vGenMetadata.size(); ++i)
{
lsp_trace("destroy generated port metadata %p", vGenMetadata[i]);
drop_port_metadata(vGenMetadata[i]);
meta::port_t *p = vGenMetadata.uget(i);
lsp_trace("destroy generated port metadata %p", p);
drop_port_metadata(p);
}
vGenMetadata.flush();

// Destroy manifest
if (pPackage != NULL)
Expand Down

0 comments on commit 4975f94

Please sign in to comment.