Thread (4 messages) read the whole thread 4 messages, 3 authors, 2009-10-02

Re: [PATCH] misc fixups

From: Steve Grubb <hidden>
Date: 2009-09-28 14:08:24

On Saturday 26 September 2009 06:29:14 pm you wrote:
quoted
The first is that in audio/pcm_bluetooth.c, a data structure is being
overrun. Because the underlying buffer is 512 bytes, no overflow really
occurs. What appears to happen is too much data gets copied.

diff -urp bluez-4.54.orig/audio/pcm_bluetooth.c
bluez-4.54/audio/pcm_bluetooth.c ---
bluez-4.54.orig/audio/pcm_bluetooth.c       2009-09-25 11:33:47.000000000
-0400 +++ bluez-4.54/audio/pcm_bluetooth.c    2009-09-25
14:35:35.000000000 -0400 @@ -729,7 +729,7 @@ static int
bluetooth_a2dp_hw_params(snd_
       req->h.length = sizeof(*req);

       memcpy(&req->codec, &a2dp->sbc_capabilities,
-                       sizeof(a2dp->sbc_capabilities));
+                       sizeof(req->codec));
Be careful that this structs are different, we really want to copy sbc
codec capabilities which is used to configure latter.
OK, I see the uint8_t data[0] in codec_capabilities_t which usually means data
to follow. Missed that. OK, the revised patch would just drop that.

-Steve


diff -urp bluez-4.54.orig/cups/main.c bluez-4.54/cups/main.c
--- bluez-4.54.orig/cups/main.c	2009-09-25 11:33:47.000000000 -0400
+++ bluez-4.54/cups/main.c	2009-09-25 14:48:46.000000000 -0400
@@ -426,7 +426,7 @@ static gboolean list_known_printers(cons
 
 	dbus_message_unref(message);
 
-	if (&error != NULL && dbus_error_is_set(&error))
+	if (dbus_error_is_set(&error))
 		return FALSE;
 
 	dbus_message_iter_init(reply, &reply_iter);
@@ -527,7 +527,7 @@ static gboolean list_printers(void)
 
 	dbus_error_init(&error);
 	hcid_exists = dbus_bus_name_has_owner(conn, "org.bluez", &error);
-	if (&error != NULL && dbus_error_is_set(&error))
+	if (dbus_error_is_set(&error))
 		return TRUE;
 
 	if (!hcid_exists)
@@ -547,7 +547,7 @@ static gboolean list_printers(void)
 
 	dbus_message_unref(message);
 
-	if (&error != NULL && dbus_error_is_set(&error)) {
+	if (dbus_error_is_set(&error)) {
 		dbus_connection_unref(conn);
 		/* No adapter */
 		return TRUE;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help