From 6af00219e1ea24415cf5b295c2e84ef700166453 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 16 Jan 2020 16:19:09 +0100 Subject: [PATCH] media-session: avoid some segfaults --- src/examples/media-session/media-session.c | 4 ++++ src/examples/media-session/policy-node.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/examples/media-session/media-session.c b/src/examples/media-session/media-session.c index f1ba238ef..1496c4e30 100644 --- a/src/examples/media-session/media-session.c +++ b/src/examples/media-session/media-session.c @@ -1696,8 +1696,12 @@ int main(int argc, char *argv[]) pw_init(&argc, &argv); impl.loop = pw_main_loop_new(NULL); + if (impl.loop == NULL) + return -1; impl.this.loop = pw_main_loop_get_loop(impl.loop); impl.this.context = pw_context_new(impl.this.loop, NULL, 0); + if (impl.this.context == NULL) + return -1; pw_context_add_spa_lib(impl.this.context, "api.bluez5.*", "bluez5/libspa-bluez5"); pw_context_add_spa_lib(impl.this.context, "api.alsa.*", "alsa/libspa-alsa"); diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c index 5808c2626..421adf46f 100644 --- a/src/examples/media-session/policy-node.c +++ b/src/examples/media-session/policy-node.c @@ -448,6 +448,8 @@ static int rescan_node(struct impl *impl, struct node *n) if ((obj = sm_media_session_find_object(impl->session, path_id)) != NULL) { if (strcmp(obj->type, PW_TYPE_INTERFACE_Node) == 0) { peer = sm_object_get_data(obj, SESSION_KEY); + if (peer == NULL) + return -ENOENT; goto do_link; } }