After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 735352 - Setting year to zero causes immediate segfault
Setting year to zero causes immediate segfault
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Date and Time
3.12.x
Other Linux
: Normal normal
: ---
Assigned To: Kalev Lember
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-08-25 06:27 UTC by ebkalderon
Modified: 2014-09-01 12:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
datetime: Fix crash when setting year to 0 (1.05 KB, patch)
2014-09-01 12:51 UTC, Bastien Nocera
committed Details | Review

Description ebkalderon 2014-08-25 06:27:30 UTC
Steps to reproduce:

1. Open System Settings > Date & Time
2. Disable Automatic Date & Time, if enabled
3. Enter 0 in the "Year" spinbutton
4. Click any other control that may trigger the processing of the year value, e.g. the Close button or the increment/decrement buttons
5. gnome-control-center should segmentation fault immediately
Comment 1 ebkalderon 2014-08-25 06:28:13 UTC


Thread 1 (Thread 0x7ffff7ef0a00 (LWP 16593))

  • #0 ??
    from /usr/lib/libglib-2.0.so.0
  • #1 g_date_time_to_unix
    from /usr/lib/libglib-2.0.so.0
  • #2 ??
  • #3 ??
    from /usr/lib/libgobject-2.0.so.0
  • #4 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #6 ??
    from /usr/lib/libgtk-3.so.0
  • #7 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #8 ??
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #11 gtk_adjustment_value_changed
    from /usr/lib/libgtk-3.so.0
  • #12 gtk_spin_button_set_value
    from /usr/lib/libgtk-3.so.0
  • #13 ??
  • #14 ??
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #17 ??
    from /usr/lib/libgtk-3.so.0
  • #18 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #19 ??
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #22 gtk_adjustment_value_changed
    from /usr/lib/libgtk-3.so.0
  • #23 gtk_spin_button_set_value
    from /usr/lib/libgtk-3.so.0
  • #24 gtk_spin_button_update
    from /usr/lib/libgtk-3.so.0
  • #25 ??
    from /usr/lib/libgtk-3.so.0
  • #26 ??
    from /usr/lib/libgtk-3.so.0
  • #27 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #28 ??
    from /usr/lib/libgobject-2.0.so.0
  • #29 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #30 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #31 ??
    from /usr/lib/libgtk-3.so.0
  • #32 gtk_widget_send_focus_change
    from /usr/lib/libgtk-3.so.0
  • #33 ??
    from /usr/lib/libgtk-3.so.0
  • #34 ??
    from /usr/lib/libgtk-3.so.0
  • #35 g_cclosure_marshal_VOID__OBJECTv
    from /usr/lib/libgobject-2.0.so.0
  • #36 ??
    from /usr/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #38 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #39 ??
    from /usr/lib/libgobject-2.0.so.0
  • #40 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #41 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #42 gtk_widget_grab_focus
    from /usr/lib/libgtk-3.so.0
  • #43 ??
    from /usr/lib/libgtk-3.so.0
  • #44 ??
    from /usr/lib/libgtk-3.so.0
  • #45 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #46 ??
    from /usr/lib/libgobject-2.0.so.0
  • #47 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #48 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #49 ??
    from /usr/lib/libgtk-3.so.0
  • #50 ??
    from /usr/lib/libgtk-3.so.0
  • #51 gtk_main_do_event
    from /usr/lib/libgtk-3.so.0
  • #52 ??
    from /usr/lib/libgdk-3.so.0
  • #53 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #54 ??
    from /usr/lib/libglib-2.0.so.0
  • #55 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #56 gtk_dialog_run
    from /usr/lib/libgtk-3.so.0
  • #57 ??
  • #58 g_cclosure_marshal_VOID__OBJECTv
    from /usr/lib/libgobject-2.0.so.0
  • #59 ??
    from /usr/lib/libgobject-2.0.so.0
  • #60 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #61 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #62 ??
    from /usr/lib/libgtk-3.so.0
  • #63 ??
    from /usr/lib/libgtk-3.so.0
  • #64 ??
    from /usr/lib/libgobject-2.0.so.0
  • #65 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #66 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #67 ??
    from /usr/lib/libgtk-3.so.0
  • #68 ??
    from /usr/lib/libgtk-3.so.0
  • #69 gtk_main_do_event
    from /usr/lib/libgtk-3.so.0
  • #70 ??
    from /usr/lib/libgdk-3.so.0
  • #71 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #72 ??
    from /usr/lib/libglib-2.0.so.0
  • #73 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #74 g_application_run
    from /usr/lib/libgio-2.0.so.0
  • #75 main

Comment 2 ebkalderon 2014-08-31 16:29:33 UTC
This should be a simple fix. Perhaps one could sanitize the input from the "Year" spinbutton before applying?
Comment 3 Bastien Nocera 2014-09-01 12:51:51 UTC
Created attachment 285005 [details] [review]
datetime: Fix crash when setting year to 0
Comment 4 Bastien Nocera 2014-09-01 12:53:20 UTC
Attachment 285005 [details] pushed as 2ae2eab - datetime: Fix crash when setting year to 0