Crash when displaying password in Seahorse
@aklapper
Submitted by Andre Klapper Link to original bug (#704689)
Description
Trying to understand all those funny keys and logins listed with non-descriptive names in Seahorse, I clicked on one of those items without knowing what it is, and made it display the password. And it showed some URL garbage that is not a password that I'd use, plus it looks like it had multiple lines. And then Seahorse crashed. seahorse-3.8.2-1.fc19.i686
Program received signal SIGSEGV, Segmentation fault.
gtk_entry_move_visually (count=0, start=<optimized out>, entry=0x8192280) at gtkentry.c:6724
6724 index = g_utf8_next_char (text + index) - text;
(gdb) thread apply all bt
Thread 3 (Thread 0xb73ffb40 (LWP 12697)):
#0 0xb7fff424 in __kernel_vsyscall ()
#1 0x4703a2fb in poll () at ../sysdeps/unix/syscall-template.S:81
#2 0x47280acc in poll (__timeout=__timeout@entry=-1, __nfds=__nfds@entry=3, __fds=__fds@entry=0xb6a023a0)
at /usr/include/bits/poll2.h:46
#3 g_poll (fds=fds@entry=0xb6a023a0, nfds=nfds@entry=3, timeout=timeout@entry=-1) at gpoll.c:132
#4 0x47271428 in g_main_context_poll (priority=2147483647, n_fds=3, fds=0xb6a023a0, timeout=-1, context=0xb7609198)
at gmain.c:3995
#5 g_main_context_iterate (context=0xb7609198, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at gmain.c:3696
#6 0x47271923 in g_main_loop_run (loop=0xb7609160) at gmain.c:3895
#7 0x474cb87b in gdbus_shared_thread_func (user_data=0xb7609180) at gdbusprivate.c:278
#8 0x4729796b in g_thread_proxy (data=0xb76040f0) at gthread.c:798
#9 0x4711c9da in start_thread (arg=0xb73ffb40) at pthread_create.c:308
#10 0x4704692e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
Thread 2 (Thread 0xb7f9cb40 (LWP 12696)):
#0 0xb7fff424 in __kernel_vsyscall ()
#1 0x4703a2fb in poll () at ../sysdeps/unix/syscall-template.S:81
#2 0x47280acc in poll (__timeout=__timeout@entry=-1, __nfds=__nfds@entry=1, __fds=__fds@entry=0xb7600c78)
at /usr/include/bits/poll2.h:46
#3 g_poll (fds=fds@entry=0xb7600c78, nfds=nfds@entry=1, timeout=timeout@entry=-1) at gpoll.c:132
#4 0x47271428 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0xb7600c78, timeout=-1, context=0x8121d70)
at gmain.c:3995
#5 g_main_context_iterate (context=context@entry=0x8121d70, block=block@entry=1, dispatch=dispatch@entry=1,
self=<optimized out>) at gmain.c:3696
#6 0x47271569 in g_main_context_iteration (context=context@entry=0x8121d70, may_block=may_block@entry=1) at gmain.c:3762
#7 0xb7ff0fe0 in dconf_gdbus_worker_thread (user_data=0x8121d70) at dconf-gdbus-thread.c:81
#8 0x4729796b in g_thread_proxy (data=0x811b8f0) at gthread.c:798
#9 0x4711c9da in start_thread (arg=0xb7f9cb40) at pthread_create.c:308
#10 0x4704692e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
Thread 1 (Thread 0xb7fca880 (LWP 12688)):
---Type <return> to continue, or q <return> to quit---
#0 gtk_entry_move_visually (count=0, start=<optimized out>, entry=0x8192280) at gtkentry.c:6724
#1 gtk_entry_move_cursor (entry=entry@entry=0x8192280, step=GTK_MOVEMENT_VISUAL_POSITIONS, count=count@entry=1,
extend_selection=extend_selection@entry=0) at gtkentry.c:5281
#2 0x4e6e4694 in _gtk_marshal_VOID__ENUM_INT_BOOLEAN (closure=0x8181d28, return_value=0xbfffe80c, n_param_values=4,
param_values=0x8578b70, invocation_hint=0xbfffe70c, marshal_data=0x4e6684a0 <gtk_entry_move_cursor>) at gtkmarshalers.c:3941
#3 0x473add65 in g_type_class_meta_marshal (closure=0x8181d28, return_value=0xbfffe80c, n_param_values=4,
param_values=0x8578b70, invocation_hint=0xbfffe70c, marshal_data=0x1a4) at gclosure.c:970
#4 0x473af2ce in g_closure_invoke (closure=closure@entry=0x8181d28, return_value=return_value@entry=0xbfffe80c,
n_param_values=4, param_values=param_values@entry=0x8578b70, invocation_hint=invocation_hint@entry=0xbfffe70c)
at gclosure.c:777
#5 0x473c0da0 in signal_emit_unlocked_R (node=node@entry=0x8181d68, detail=detail@entry=0, instance=instance@entry=0x8192280,
emission_return=emission_return@entry=0xbfffe80c, instance_and_params=instance_and_params@entry=0x8578b70) at gsignal.c:3622
#6 0x473c80c3 in g_signal_emitv (instance_and_params=instance_and_params@entry=0x8578b70, signal_id=signal_id@entry=291,
detail=detail@entry=0, return_value=return_value@entry=0xbfffe80c) at gsignal.c:3059
#7 0x4e5e62a3 in gtk_binding_entry_activate (entry=<optimized out>, object=object@entry=0x8192280) at gtkbindings.c:651
#8 0x4e5e686b in binding_activate (binding_set=binding_set@entry=0x8182600, entries=entries@entry=0x859d580 = {...},
object=object@entry=0x8192280, is_release=is_release@entry=0, unbound=unbound@entry=0xbfffe8b8) at gtkbindings.c:1523
#9 0x4e5e6a06 in gtk_bindings_activate_list (object=object@entry=0x8192280, entries=entries@entry=0x859d580 = {...},
is_release=0) at gtkbindings.c:1584
#10 0x4e5e7c12 in gtk_bindings_activate_event (object=object@entry=0x8192280, event=event@entry=0x880dd90) at gtkbindings.c:1669
#11 0x4e81e704 in gtk_widget_real_key_press_event (widget=0x8192280, event=0x880dd90) at gtkwidget.c:6238
#12 0x4e665272 in gtk_entry_key_press (widget=0x8192280, event=0x880dd90) at gtkentry.c:4573
#13 0x4e6df977 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x8129700, return_value=0xbfffea88, instance=0x8192280,
args=0xbfffeb5c "\220݀\b|\353\377\277\340\312\021\b\250\305\025\b", marshal_data=0x4e6651f0 <gtk_entry_key_press>,
n_params=1, param_types=0x8129718) at gtkmarshalers.c:130
#14 0x473adc18 in g_type_class_meta_marshalv (closure=closure@entry=0x8129700, return_value=return_value@entry=0xbfffea88,
instance=instance@entry=0x8192280, args=args@entry=0xbfffeb5c "\220݀\b|\353\377\277\340\312\021\b\250\305\025\b",
marshal_data=marshal_data@entry=0xd8, n_params=n_params@entry=1, param_types=param_types@entry=0x8129718) at gclosure.c:997
#15 0x473af47f in _g_closure_invoke_va (closure=closure@entry=0x8129700, return_value=return_value@entry=0xbfffea88,
instance=instance@entry=0x8192280, args=args@entry=0xbfffeb5c "\220݀\b|\353\377\277\340\312\021\b\250\305\025\b",
n_params=1, param_types=0x8129718) at gclosure.c:840
#16 0x473c858e in g_signal_emit_valist (instance=instance@entry=0x8192280, signal_id=signal_id@entry=52, detail=detail@entry=0,
var_args=var_args@entry=0xbfffeb5c "\220݀\b|\353\377\277\340\312\021\b\250\305\025\b") at gsignal.c:3234
#17 0x473c9164 in g_signal_emit (instance=instance@entry=0x8192280, signal_id=52, detail=detail@entry=0) at gsignal.c:3384
---Type <return> to continue, or q <return> to quit---
#18 0x4e822263 in gtk_widget_event_internal (widget=widget@entry=0x8192280, event=event@entry=0x880dd90) at gtkwidget.c:6714
#19 0x4e822536 in gtk_widget_event (widget=widget@entry=0x8192280, event=event@entry=0x880dd90) at gtkwidget.c:6371
#20 0x4e83ebe8 in gtk_window_propagate_key_event (window=window@entry=0x8765040, event=event@entry=0x880dd90)
at gtkwindow.c:6042
#21 0x4e841a64 in gtk_window_key_press_event (widget=0x8765040, event=0x880dd90) at gtkwindow.c:6072
#22 0x4e6df977 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x8129700, return_value=0xbfffed08, instance=0x8765040,
args=0xbfffeddc "\220݀\b\374\355\377\277\340\312\021\b\310\357\032\b",
marshal_data=0x4e841a20 <gtk_window_key_press_event>, n_params=1, param_types=0x8129718) at gtkmarshalers.c:130
#23 0x473adc18 in g_type_class_meta_marshalv (closure=0x8129700, return_value=0xbfffed08, instance=0x8765040,
args=0xbfffeddc "\220݀\b\374\355\377\277\340\312\021\b\310\357\032\b", marshal_data=0xd8, n_params=1,
param_types=0x8129718) at gclosure.c:997
#24 0x473af516 in _g_closure_invoke_va (closure=closure@entry=0x8129700, return_value=return_value@entry=0xbfffed08,
instance=instance@entry=0x8765040, args=args@entry=0xbfffeddc "\220݀\b\374\355\377\277\340\312\021\b\310\357\032\b",
n_params=1, param_types=0x8129718) at gclosure.c:840
#25 0x473c858e in g_signal_emit_valist (instance=instance@entry=0x8765040, signal_id=signal_id@entry=52, detail=detail@entry=0,
var_args=var_args@entry=0xbfffeddc "\220݀\b\374\355\377\277\340\312\021\b\310\357\032\b") at gsignal.c:3234
#26 0x473c9164 in g_signal_emit (instance=instance@entry=0x8765040, signal_id=52, detail=detail@entry=0) at gsignal.c:3384
#27 0x4e822263 in gtk_widget_event_internal (widget=0x8765040, event=0x880dd90) at gtkwidget.c:6714
#28 0x4e6dd8ec in propagate_event (widget=0x8765040, event=0x880dd90, captured=0, topmost=0x0) at gtkmain.c:2490
#29 0x4e6df560 in gtk_main_do_event (event=0x880dd90) at gtkmain.c:1716
#30 0x4ea7ad5d in _gdk_event_emit (event=event@entry=0x880dd90) at gdkevents.c:69
#31 0x4eaa76d3 in gdk_event_source_dispatch (source=source@entry=0x81534c0, callback=0x0, user_data=0x0) at gdkeventsource.c:364
#32 0x472710f6 in g_main_dispatch (context=0x811f1a0, context@entry=0x8139e90) at gmain.c:3054
#33 g_main_context_dispatch (context=context@entry=0x811f1a0) at gmain.c:3630
#34 0x472714a8 in g_main_context_iterate (context=context@entry=0x811f1a0, block=block@entry=1, dispatch=dispatch@entry=1,
self=<optimized out>) at gmain.c:3701
#35 0x47271569 in g_main_context_iteration (context=0x811f1a0, context@entry=0x0, may_block=may_block@entry=1) at gmain.c:3762
#36 0x4749494c in g_application_run (application=0x811e000, argc=1, argv=0xbffff0e4) at gapplication.c:1623
#37 0x080648ee in main ()
(gdb) list
6719 index = 0;
6720 else if (new_index != G_MAXINT)
6721 index = new_index;
6722
6723 while (new_trailing--)
6724 index = g_utf8_next_char (text + index) - text;
6725 }
6726
6727 return g_utf8_pointer_to_offset (text, text + index);
6728 }
Version: 3.8.x