mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05: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
4 changed files with 12 additions and 0 deletions
|
|
@ -3543,6 +3543,9 @@ jack_client_t * jack_client_open (const char *client_name,
|
||||||
strstr(pw_get_library_version(), "0.2") != NULL)
|
strstr(pw_get_library_version(), "0.2") != NULL)
|
||||||
goto disabled;
|
goto disabled;
|
||||||
|
|
||||||
|
if (!spa_streq(pw_get_library_version(), pw_get_headers_version()))
|
||||||
|
goto disabled;
|
||||||
|
|
||||||
return_val_if_fail(client_name != NULL, NULL);
|
return_val_if_fail(client_name != NULL, NULL);
|
||||||
|
|
||||||
client = calloc(1, sizeof(struct client));
|
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);
|
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,
|
factory = pw_context_create_factory(context,
|
||||||
"client-node",
|
"client-node",
|
||||||
PW_TYPE_INTERFACE_ClientNode,
|
PW_TYPE_INTERFACE_ClientNode,
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,9 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
impl = calloc(1, sizeof(struct impl));
|
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;
|
const struct pw_properties *props;
|
||||||
int res;
|
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);
|
||||||
PW_LOG_TOPIC_INIT(mod_topic_connection);
|
PW_LOG_TOPIC_INIT(mod_topic_connection);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue