All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] audio/media: return empty string when player name is not available
@ 2015-12-02 11:01 Simon Fels
  0 siblings, 0 replies; only message in thread
From: Simon Fels @ 2015-12-02 11:01 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Simon Fels

If the name for the player is set as NULL we will crash later on
so taking a valid default is required.

Crash observed without this:

Program terminated with signal SIGSEGV, Segmentation fault.
0  strlen () at ../sysdeps/arm/armv6t2/strlen.S:85
85      ../sysdeps/arm/armv6t2/strlen.S: No such file or directory.
(gdb) bt
0  strlen () at ../sysdeps/arm/armv6t2/strlen.S:85
1  0xb6f13ebc in avrcp_handle_media_player_list (session=0xb8f339c0,
    session=0xb8f339c0, end_item=<optimized out>, start_item=<optimized out>,
    pdu=0xb8f43283) at profiles/audio/avrcp.c:1917
2  avrcp_handle_get_folder_items (session=0xb8f339c0, pdu=0xb8f43283,
    transaction=<optimized out>) at profiles/audio/avrcp.c:1968
3  0xb6f13fb8 in handle_browsing_pdu (conn=<optimized out>,
    transaction=<optimized out>, operands=0xb8f43283 "q\b",
    operand_count=<optimized out>, user_data=0xb8f339c0)
    at profiles/audio/avrcp.c:2028
4  0xb6f0f088 in session_browsing_cb (chan=<optimized out>,
    cond=<optimized out>, data=0xb8f3ba28) at profiles/audio/avctp.c:930
5  0xb6e19e90 in g_main_dispatch (context=0xb8f28100)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3122
6  g_main_context_dispatch (context=context@entry=0xb8f28100)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3737
7  0xb6e1a114 in g_main_context_iterate (context=0xb8f28100,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3808
8  0xb6e1a3b0 in g_main_loop_run (loop=0xb8f28030)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4002
9  0xb6efef3e in main (argc=1, argv=0xbebdde04) at src/main.c:661
---
 profiles/audio/media.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/profiles/audio/media.c b/profiles/audio/media.c
index 69070bf..60eb734 100644
--- a/profiles/audio/media.c
+++ b/profiles/audio/media.c
@@ -1018,6 +1018,9 @@ static const char *get_player_name(void *user_data)
 {
 	struct media_player *mp = user_data;
 
+	if (!mp->name)
+		return "";
+
 	return mp->name;
 }
 
-- 
2.5.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-12-02 11:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-02 11:01 [PATCH] audio/media: return empty string when player name is not available Simon Fels

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.