Photorec 6.11-1 segfaults when extracting the files from a HFS+ device:

(gdb) bt
#0  strcmp () at ../sysdeps/x86_64/strcmp.S:29
#1  0x000000000043367b in header_check_tiff (buffer=0x7ffff7e30000 "II*",
    buffer_size=65536, safe_header_only=0, file_recovery=0x7fffffffddf0,
    file_recovery_new=0x7fffffffd560) at file_tiff.c:215
#2  0x000000000041b02d in photorec_aux (disk_car=0x6bea80, partition=0x6bee70,
    verbose=1, paranoid=1, recup_dir=0x6bc600 "/opt/Rec/recup_dir",
    interface=1, file_stats=0x6c5000, file_nbr=0x7fffffffe7d4, blocksize=4096,
    list_search_space=0x675ec0, real_start_time=1272361676,
    dir_num=0x7fffffffe7d0, status=STATUS_EXT2_OFF, pass=1, lowmem=0)
    at phrecn.c:887
#3  0x000000000041c3d8 in photorec (disk_car=0x6bea80, partition=0x6bee70,
    verbose=1, paranoid=1, recup_dir=0x6bc600 "/opt/Rec/recup_dir",
    keep_corrupted_file=0, interface=1, files_enable=0x678f60, mode_ext2=0,
    current_cmd=0x7fffffffea08, list_search_space=0x675ec0, blocksize=4096,
    expert=0, lowmem=0, carve_free_space_only=0) at phrecn.c:1363
#4  0x000000000041eebe in menu_photorec (disk_car=0x6bea80, verbose=1,
    recup_dir=0x0, file_enable=0x678f60, current_cmd=0x7fffffffea08,
    list_search_space=0x675ec0) at ppartsel.c:404
#5  0x0000000000418036 in photorec_disk_selection_ncurses (verbose=1,
    recup_dir=0x0, list_disk=0x6bd900, file_enable=0x678f60) at pdisksel.c:198
#6  0x00000000004182f2 in do_curses_photorec (verbose=1, recup_dir=0x0,
    list_disk=0x6bd900, file_enable=0x678f60, cmd_device=0x0,
    current_cmd=0x7fffffffeb08) at pdisksel.c:284
#7  0x0000000000404e0a in main (argc=3, argv=0x7fffffffec98) at phmain.c:359
(gdb) frame 1
#1  0x000000000043367b in header_check_tiff (buffer=0x7ffff7e30000 "II*",
    buffer_size=65536, safe_header_only=0, file_recovery=0x7fffffffddf0,
    file_recovery_new=0x7fffffffd560) at file_tiff.c:215
215             if(strcmp(tag_make, "PENTAX Corporation ")==0 ||
(gdb)  list
210         {
211           const char *tag_make;
212           tag_make=find_tag_from_tiff_header((const TIFFHeader
*)buffer, buffer_size, TIFFTAG_MAKE);
213           if(tag_make!=NULL)
214           {
215             if(strcmp(tag_make, "PENTAX Corporation ")==0 ||
216                 strcmp(tag_make, "PENTAX             ")==0)
217               file_recovery_new->extension="pef";
218             else if(strcmp(tag_make, "NIKON CORPORATION")==0)
219               file_recovery_new->extension="nef";
(gdb) print tag_make
$7 = 0x8000021c6390 <Address 0x8000021c6390 out of bounds>
(gdb) print buffer
$8 = (const unsigned char *) 0x7ffff7e30000 "II*"

mir...@miriam:~$ uname -a
Linux miriam 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC 2010
x86_64 GNU/Linux

Greetings,
Miry



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to