Hello community,

here is the log from the commit of package wpa_supplicant for 
openSUSE:12.1:Update:Test checked in at 2012-02-20 18:14:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update:Test/wpa_supplicant (Old)
 and      /work/SRC/openSUSE:12.1:Update:Test/.wpa_supplicant.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wpa_supplicant", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:12.1:Update:Test/wpa_supplicant/wpa_supplicant.changes   
2011-11-24 20:16:05.000000000 +0100
+++ 
/work/SRC/openSUSE:12.1:Update:Test/.wpa_supplicant.new/wpa_supplicant.changes  
    2012-02-20 18:14:32.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 20 08:43:29 UTC 2012 - [email protected]
+
+- Add wpa_supplicant-no-NULL-to-dbus_message_new_error.patch to
+  fix crash on receiving a malformed probe response from an AP.
+  (bnc#742937)
+
+-------------------------------------------------------------------

New:
----
  wpa_supplicant-no-NULL-to-dbus_message_new_error.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wpa_supplicant.spec ++++++
--- /var/tmp/diff_new_pack.ZeznXN/_old  2012-02-20 18:14:32.000000000 +0100
+++ /var/tmp/diff_new_pack.ZeznXN/_new  2012-02-20 18:14:32.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package wpa_supplicant
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -49,6 +49,8 @@
 Patch5:         wpa_supplicant-dbus-events.patch
 # PATCH-FIX-UPSTREAM wpa-supplicant-ca-cert-dbus-signal.patch bnc#574266 
[email protected] -- Emit a D-Bus signal when receiving the certificate probe result
 Patch6:         wpa-supplicant-ca-cert-dbus-signal.patch
+# PATCH-FIX-UPSTREAM wpa_supplicant-no-NULL-to-dbus_message_new_error.patch 
bnc#742937 [email protected] -- Don't send NULL to dbus_message_new_error
+Patch7:         wpa_supplicant-no-NULL-to-dbus_message_new_error.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       logrotate
 
@@ -88,6 +90,7 @@
 %patch4 -p0
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
 
 %build
 cd wpa_supplicant

++++++ wpa_supplicant-no-NULL-to-dbus_message_new_error.patch ++++++
commit 8ee69e06336d65b15364f4db82d91775d0fe47c6
Author: Paul Stewart <[email protected]>
Date:   Sat Oct 9 17:29:51 2010 +0300

    dbus_new_handlers: Don't send NULL to dbus_message_new_error
    
    The new DBus API helper function wpas_dbus_error_unknown_error
    function can be called as a result of a failure within internal
    getter calls, which will call this function with a NULL message
    parameter.  However, dbus_message_new_error looks very unkindly
    (i.e, abort()) on a NULL message, so in this case, we should not
    call it.
    
    I've observed this course of events during a call to
    wpas_dbus_getter_bss_wpa with a faileld parse of the IE parameter.
    We got here through a call to fill_dict_with_properties which
    explicitly calls getters with a NULL message parameter.  Judging
    from the way it is called, this could easily occur if an AP sends
    out a malformed (or mis-received) probe response.  I usually run
    into this problem while driving through San Francisco, so I'm
    exposed to any number of base stations along this path.

diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c 
b/wpa_supplicant/dbus/dbus_new_handlers.c
index 73f4e44..0ad51a0 100644
--- a/wpa_supplicant/dbus/dbus_new_handlers.c
+++ b/wpa_supplicant/dbus/dbus_new_handlers.c
@@ -117,6 +117,20 @@ static char * wpas_dbus_new_decompose_object_path(const 
char *path,
 DBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,
                                            const char *arg)
 {
+       /*
+        * This function can be called as a result of a failure
+        * within internal getter calls, which will call this function
+        * with a NULL message parameter.  However, dbus_message_new_error
+        * looks very unkindly (i.e, abort()) on a NULL message, so
+        * in this case, we should not call it.
+        */
+       if (message == NULL) {
+               wpa_printf(MSG_INFO, "dbus: wpas_dbus_error_unknown_error "
+                          "called with NULL message (arg=%s)",
+                          arg ? arg : "N/A");
+               return NULL;
+       }
+
        return dbus_message_new_error(message, WPAS_DBUS_ERROR_UNKNOWN_ERROR,
                                      arg);
 }
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to