gdraheim / zziplib

The ZZIPlib provides read access on ZIP-archives and unpacked data. It features an additional simplified API following the standard Posix API for file access
Other
62 stars 50 forks source link

Invalid memory address dereference in main (in zzdir.c:64) #42

Closed fantasy7082 closed 6 years ago

fantasy7082 commented 6 years ago

Hi,it's a issues about the zziplib v0.13.68. It crashed in function main.the details are below(ASAN):

./zzdir c006-unknown-add-main 
ASAN:SIGSEGV
=================================================================
==35970==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000040 (pc 0x7ffff6f14c02 bp 0x7fffffffe270 sp 0x7fffffffd9b8 T0)
    #0 0x7ffff6f14c01  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xaac01)
    #1 0x7ffff6eca47b  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x6047b)
    #2 0x7ffff6eca7f7 in __interceptor_vprintf (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x607f7)
    #3 0x7ffff6eca907 in __interceptor_printf (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x60907)
    #4 0x401023 in main ../../bins/zzdir.c:64
    #5 0x7ffff68af82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #6 0x400a38 in _start (/usr/local/zzip-asan/bin/zzdir+0x400a38)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ??:0 ??
==35970==ABORTING

POC FILE:https://github.com/fantasy7082/image_test/blob/master/c006-unknown-add-main

gdraheim commented 6 years ago

fixed - using sizeof(array) instead of LENGTH(array) returns a value to big for proper indexing

gdraheim commented 6 years ago

done.