tree 4981b05e5d8dcbd7cafcbff00e69567a685c8bde
parent c5d07c2fa4ffb34ac908ceedc4bd25701ed6ade1
author Yusuke Sato <yusukes@chromium.org> 1268023500 +0900
committer Yusuke Sato <yusukes@chromium.org> 1268023500 +0900

Fix memory errors in third_party/ibus-chewing/files/src.

In src/IBusChewingEngine.gob, an uninitialized GValue object is passed in to ibus_config_get_value() API. This seems to cause an unexpected termination of the IBus connection:

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x6f7dd6c0 (LWP 3013)]
0x005b5416 in __kernel_vsyscall ()
(gdb) bt
#0  0x005b5416 in __kernel_vsyscall ()
#1  0x01075ac1 in writev () from /lib/libc.so.6
#2  0x00397b15 in _dbus_write_two (fd=4, buffer1=0x9ed259c, start1=0, len1=128, buffer2=0x9ed25d8, start2=0, len2=38) at dbus-sysdeps-unix.c:425
#3  0x00397954 in _dbus_write_socket_two (fd=4, buffer1=0x9ed259c, start1=0, len1=128, buffer2=0x9ed25d8, start2=0, len2=38) at dbus-sysdeps-unix.c:258
#4  0x0038e6d1 in do_writing (transport=0x9ed1910) at dbus-transport-socket.c:597
#5  0x0038edb8 in socket_do_iteration (transport=0x9ed1910, flags=1, timeout_milliseconds=-1) at dbus-transport-socket.c:1016
#6  0x0038d689 in _dbus_transport_do_iteration (transport=0x9ed1910, flags=1, timeout_milliseconds=-1) at dbus-transport.c:956
#7  0x0037146c in _dbus_connection_do_iteration_unlocked (connection=0x9ed1d30, flags=1, timeout_milliseconds=-1) at dbus-connection.c:1163
#8  0x00372436 in _dbus_connection_send_preallocated_unlocked_no_update (connection=0x9ed1d30, preallocated=0x0, message=0x9ed2598, client_serial=0x0)
    at dbus-connection.c:1984
#9  0x00373ba0 in _dbus_connection_send_unlocked_no_update (connection=0x9ed1d30, message=0x9ed2598, client_serial=0x0) at dbus-connection.c:3100
#10 0x00373f39 in dbus_connection_send_with_reply (connection=0x9ed1d30, message=0x9ed2598, pending_return=0x77aeae78, timeout_milliseconds=-1) at dbus-connection.c:3263
#11 0x0037413d in dbus_connection_send_with_reply_and_block (connection=0x9ed1d30, message=0x9ed2598, timeout_milliseconds=-1, error=0xa331c50) at dbus-connection.c:3341
#12 0x0032f6b0 in ibus_connection_send_with_reply_and_block (connection=0x9ebbe60, message=0x9ed2598, timeout_milliseconds=-1, error=0x77aeaf68) at ibusconnection.c:722
#13 0x003323a3 in ibus_proxy_call_with_reply_and_block (proxy=0x9ef36c0, method=0x351592 "GetValue", timeout_milliseconds=-1, error=0x77aeaf68, first_arg_type=64)
    at ibusproxy.c:750
#14 0x0033f444 in ibus_config_get_value (config=0x9ef36c0, section=0x8057032 "engine/Chewing", name=0x805a87c "hsuSelKeyType", value=0x77aeb07c) at ibusconfig.c:229
#15 0x0804f0c2 in ibus_chewing_engine_load_setting ()
#16 0x0805190d in ___1d_ibus_chewing_engine_enable ()
#17 0x002ad7dc in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#18 0x0029e6c9 in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0x09ec9c08 in ?? ()
#20 0x00000000 in ?? ()
(gdb)

I'll try to upstream this change later, but let me submit this to our repo first to see if this patch actually fixes the bug.

BUG=crosbug.com/1253
TEST=see the bug

Review URL: http://codereview.chromium.org/668239
