Bug 9563 - gok: Segmentation fault
: gok: Segmentation fault
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/gok)
: unstable
: all Linux
: P2 blocker
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2006-05-13 22:25 by
Modified: 2006-08-18 20:21 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-05-13 22:25:49
Собранный для x86_64 gok вылетает по SIGSEGV при старте.

Расследование показало, что причина таится здесь:
gok/gok_data.c

 243 gok_gconf_get_string (gconf_client, GOK_GCONF_DOCK_TYPE,
 244                               &a_gchar);
 245         m_eDockType = gok_data_dock_type_from_string (a_gchar);
 246         g_free (a_gchar);
Здесь в строчке 243 производится вызов функции и считается что она что-то
запишет в a_gchar. Но это не так, вызов завершается неудачей (возвращением
FALSE), в результате дальше происходит вызов g_free(a_gchar) с
неинициализированной переменной, что и приводит к сегфолту.

Беглый запуск в valgrind показал и другие неполадки в коде.

Их можно посмотреть здесь:
http://alt.pastebin.com/715605
------- Comment #1 From 2006-05-23 09:21:28 -------
Битый линк?
------- Comment #2 From 2006-05-23 10:10:01 -------
(In reply to comment #1)
> Битый линк?
Возможно. Где искать, куда копать? 
Однако сегфолт все равно фиксить надо.
------- Comment #3 From 2006-05-24 12:27:26 -------
Сегфолт вечером исправлю.
------- Comment #4 From 2006-05-24 15:05:47 -------
(In reply to comment #3)
> Сегфолт вечером исправлю.
там ниже еще подобный код вроде есть.
------- Comment #5 From 2006-05-26 09:14:51 -------
(In reply to comment #2)
> (In reply to comment #1)
> > Битый линк?
> Возможно. Где искать, куда копать? 
Э-э, я про ссылку на pastebin.com.

> Однако сегфолт все равно фиксить надо.
Будет в ближайшей сборке, об остальных багах сообщайте отдельно.