mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-06 16:56:00 +00:00
modules: enforce equal library and compiler versions
For all the modules that include the private header we require that the library and compiler versions match. Otherwise we might end up poking into new or old fields that got moved or changed in the private struct and crash. See #3243
This commit is contained in:
parent
ad71dd89a2
commit
697daeedf7
|
@ -3543,6 +3543,9 @@ jack_client_t * jack_client_open (const char *client_name,
|
|||
strstr(pw_get_library_version(), "0.2") != NULL)
|
||||
goto disabled;
|
||||
|
||||
if (!spa_streq(pw_get_library_version(), pw_get_headers_version()))
|
||||
goto disabled;
|
||||
|
||||
return_val_if_fail(client_name != NULL, NULL);
|
||||
|
||||
client = calloc(1, sizeof(struct client));
|
||||
|
|
|
@ -163,6 +163,9 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
|
||||
PW_LOG_TOPIC_INIT(mod_topic);
|
||||
|
||||
if (!spa_streq(pw_get_library_version(), pw_get_headers_version()))
|
||||
return -ESTALE;
|
||||
|
||||
factory = pw_context_create_factory(context,
|
||||
"client-node",
|
||||
PW_TYPE_INTERFACE_ClientNode,
|
||||
|
|
|
@ -387,6 +387,9 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
NULL
|
||||
};
|
||||
|
||||
if (!spa_streq(pw_get_library_version(), pw_get_headers_version()))
|
||||
return -ESTALE;
|
||||
|
||||
PW_LOG_TOPIC_INIT(mod_topic);
|
||||
|
||||
impl = calloc(1, sizeof(struct impl));
|
||||
|
|
|
@ -1472,6 +1472,9 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
|||
const struct pw_properties *props;
|
||||
int res;
|
||||
|
||||
if (!spa_streq(pw_get_library_version(), pw_get_headers_version()))
|
||||
return -ESTALE;
|
||||
|
||||
PW_LOG_TOPIC_INIT(mod_topic);
|
||||
PW_LOG_TOPIC_INIT(mod_topic_connection);
|
||||
|
||||
|
|
Loading…
Reference in a new issue