linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* bluetoothd failure after a "malloc retun NULL" injection (attachment fix)
@ 2013-11-13 14:09 Oprisenescu, CatalinX
  2013-11-13 15:03 ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 5+ messages in thread
From: Oprisenescu, CatalinX @ 2013-11-13 14:09 UTC (permalink / raw)
  To: linux-bluetooth@vger.kernel.org; +Cc: Trandafir, IonutX

[-- Attachment #1: Type: text/plain, Size: 1303 bytes --]

Hello,

Following is an issue encountered and handled using bluez-5.10 on a 32bit Tizen 2.0 IVI based distribution.

If malloc returns a random NULL bluetoothd exits with core dumped.
In this case we do the following:
      -start bluetoothd,
      -at a random malloc call from any library (*lib*.so*), a random NULL will be returned by bluetoothd with a ld_preloaded library.

~# LD_PRELOAD=/root/lib_wrapper.so /usr/libexec/bluetooth/bluetoothd -E

Analyzing the dump, it points directly to a DBUS_ERROR_NO_MEMORY which, after handling, keeps bluetoothd from dumping and allowing it to return the fatal error occurred as exit status, thus failing gracefully.

A fix proposal, handling the use-case is attached.


Regards,
Calin Oprisenescu.
--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.


[-- Attachment #2: 0001-Provide-fix-for-malloc-null-injection.patch --]
[-- Type: application/octet-stream, Size: 967 bytes --]

From 567732c84278f94fc3d8c749c0e40de349e9f00a Mon Sep 17 00:00:00 2001
From: Calin Oprisenescu <catalinx.oprisenescu@intel.com>
Date: Tue, 5 Nov 2013 12:27:20 +0200
Subject: [PATCH] Provide fix for malloc null injection ASD100001565

Change-Id: I7a249f815335e65ae6771d5d1ff58497dbdbb7db
Author: Calin Oprisenescu <catalinx.oprisenescu@intel.com>
Committer: Calin Oprisenescu <catalinx.oprisenescu@intel.com>
---
 src/main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/main.c b/src/main.c
index 91d90b4..3bf2ae4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -427,6 +427,10 @@ static int connect_dbus(void)
 	conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, BLUEZ_NAME, &err);
 	if (!conn) {
 		if (dbus_error_is_set(&err)) {
+			if (dbus_error_has_name (&err, DBUS_ERROR_NO_MEMORY)) {
+				dbus_error_free(&err);
+				return -ENOMEM;
+			}
 			g_printerr("D-Bus setup failed: %s\n", err.message);
 			dbus_error_free(&err);
 			return -EIO;
-- 
1.8.4.msysgit.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-14  9:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-13 14:09 bluetoothd failure after a "malloc retun NULL" injection (attachment fix) Oprisenescu, CatalinX
2013-11-13 15:03 ` Luiz Augusto von Dentz
2013-11-14  7:33   ` Marcel Holtmann
2013-11-14  8:19     ` Johan Hedberg
2013-11-14  9:37       ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).