Bug 9563

Summary: gok: Segmentation fault
Product: Sisyphus Reporter: Damir Shayhutdinov <damir>
Component: gokAssignee: Yuri N. Sedunov <aris>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P2 CC: ktirf, lav, msp, shrek
Version: unstable   
Hardware: all   
OS: Linux   

Description Damir Shayhutdinov 2006-05-13 22:25:49 MSD
Собранный для 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 Alexey Rusakov 2006-05-23 09:21:28 MSD
Битый линк?
Comment 2 Damir Shayhutdinov 2006-05-23 10:10:01 MSD
(In reply to comment #1)
> Битый линк?
Возможно. Где искать, куда копать? 
Однако сегфолт все равно фиксить надо.
Comment 3 Alexey Rusakov 2006-05-24 12:27:26 MSD
Сегфолт вечером исправлю.
Comment 4 Damir Shayhutdinov 2006-05-24 15:05:47 MSD
(In reply to comment #3)
> Сегфолт вечером исправлю.
там ниже еще подобный код вроде есть.
Comment 5 Alexey Rusakov 2006-05-26 09:14:51 MSD
(In reply to comment #2)
> (In reply to comment #1)
> > Битый линк?
> Возможно. Где искать, куда копать? 
Э-э, я про ссылку на pastebin.com.

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