FS#23297 - [testdisk] segfaults after ncurses upgrade to 5.8
Attached to Project:
Arch Linux
Opened by Linas (Linas) - Wednesday, 16 March 2011, 17:26 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 12 May 2011, 14:55 GMT
Opened by Linas (Linas) - Wednesday, 16 March 2011, 17:26 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 12 May 2011, 14:55 GMT
|
Details
Description:
testdisk (6.11.3-3) works perfectly with ncurses 5.7-4. After upgrade to ncurses 5.8-1, trying to recover the files from a drive gives out a segmentation fault. Recompiling testdisk with debug symbols and running under gdb, it seems to be stuck in an infinite loop (well, there is a message loop in dir_aff_ncurses() at inside dirn.c but there's no progress...). Downgrading to 5.7-4, it works flawlessly. |
This task depends upon
On a personal note, v6.11.3 is pretty old now. May 2009. Needs a refresh (and a GUI wouldn't kill anyone, either).
@Andrew: What do you mean by too old? Its the latest released version.
I dont believe there is a bug tracker.
I have uploaded a new 6.12-WIP with a workaround. Patch is visible in the git tree:
http://git.cgsecurity.org/cgit/testdisk/commit/?id=02e3edf762d05ec4aacb348eb550f35ee1558a9f
Can you test it ?
Using latest 6.12-WIP and ncurses 5.8, I have successfully undeleted files from FAT32, NTFS and ext2.
[ Type ] [ Boot ] [ List ] >[Undelete] [Image Creation] [ Quit ]
File undelete
Program received signal SIGINT, Interrupt.
0x00007ffff702a395 in strcmp () from /lib/libc.so.6
(gdb) where
#0 0x00007ffff702a395 in strcmp () from /lib/libc.so.6
#1 0x0000000000435323 in ntfs_undelete_part ()
#2 0x000000000041cb60 in interface_adv ()
#3 0x0000000000437e6f in menu_disk ()
#4 0x00000000004385fe in do_curses_testdisk ()
#5 0x0000000000438ced in main ()
(gdb