[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-player-dev
Subject:    [Player-dev] CR-Client: Fixed a segmentation fault bug of
From:       "Bu, Long" <long.bu () intel ! com>
Date:       2008-09-18 13:05:38
Message-ID: 953A5A820754F64C8FF1C6994DE4AA840187D0E4 () pdsmsx414 ! ccr ! corp ! intel ! com
[Download RAW message or body]

Modified by: <long.bu@intel.com>
Date: <09:18:08>
Project: CR: Fixed a segmentation fault bug of helix-dbus-server
Bug Number:
Bug URL: 

Synopsis:
	Fixed a segmentation bug of helix-dbus-server

Overview: 
	In helix_dbus_server_handle_set_window(),dbus_message_get_args()
is called with the type argument DBUS_TYPE_INT64. This will write a
64bits value into a 32bits local variable xid. It eventually screws up
the stack frame and causes a segmentation fault.

Files Added:
	<None>

Files Modified:
	
helix-dbus-server.cpp(player/kit/dbus-server/src/helix-dbus-server.cpp)

Image Size and Heap Use impact (Client -Only):
	little

Platforms and Profiles Affected:
    platform:   linux-2.2-libc6-gcc32-i586
    profile:    helix-client-all-defines

Distribution Libraries Affected:
	<helix-dbus-server.bin>

Distribution library impact and planned action:
	<None>

Platforms and Profiles Build Verified:
    Set BIF branch  -> hxdbus_3_1_0_atlas
    Set Target(s)   -> player_dbus-server
    Set Profile     -> helix-client-all-defines
    System ID       -> linux-2.2-libc6-gcc32-i586

Platforms and Profiles Functionality verified:
    Set BIF branch  -> hxdbus_3_1_0_atlas
    Set Target(s)   -> player_dbus-server
    Set Profile     -> helix-client-all-defines
    System ID       -> linux-2.2-libc6-gcc32-i586


Branch: 
	HEAD, hxclient_3_1_0_atlas

Copyright assignment: <MUST be one of the following statements >
      2.   Intel has signed and delivered a Joint Copyright Assignment
           to RealNetworks, and received acknowledgment that the 
           agreement was received.

QA Instructions:
	<None>


Regards.
Long


["player-helix-dbus-server.cpp.diff.txt" (text/plain)]

Index: dbus-server/src/helix-dbus-server.cpp
===================================================================
RCS file: /cvsroot/player/kit/dbus-server/src/helix-dbus-server.cpp,v
retrieving revision 1.2.2.33
diff -u -w -r1.2.2.33 helix-dbus-server.cpp
--- dbus-server/src/helix-dbus-server.cpp	18 Jul 2008 01:41:32 -0000	1.2.2.33
+++ dbus-server/src/helix-dbus-server.cpp	18 Sep 2008 09:17:48 -0000
@@ -623,6 +623,7 @@
     void **return_value)
 {
     XID xid = 0;
+    gint64 xid64 = 0;
     DBusError err;
     int retcode;    
 
@@ -639,7 +640,8 @@
     if(!retcode)
     {
         memset(&err,0,sizeof(DBusError));
-        retcode = dbus_message_get_args(message, &err, DBUS_TYPE_INT64, &xid, DBUS_TYPE_INVALID);
+        retcode = dbus_message_get_args(message, &err, DBUS_TYPE_INT64, &xid64, DBUS_TYPE_INVALID);
+        xid = (XID)xid64;
     }
 
     if(retcode) 


_______________________________________________
Player-dev mailing list
Player-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/player-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic