knik0 / faac

Freeware Advanced Audio Coder faac mirror
https://sourceforge.net/projects/faac/
Other
179 stars 60 forks source link

Invalid memory address dereference in huffcode (in libfaac/huff2.c:217) #24

Closed fantasy7082 closed 4 years ago

fantasy7082 commented 5 years ago

Hi, i found a issue in the FAAC 1.29.9.2, it is crashed by function huffcode .It just cause a Invalid memory address dereference.the details are below(ASAN):

./faac faac_res/unkown_addr_huff2_217  -o out.aac
Freeware Advanced Audio Coder
FAAC 1.29.9.2

Initial quantization quality: 50
Average bitrate: 64 kbps/channel
Bandwidth: 5512 Hz
PNS level: 4
Object type: Low Complexity(MPEG-2) + IS + PNS
Container format: Transport Stream (ADTS)
Encoding faac_res/unkown_addr_huff2_217 to out.aac
   frame          | bitrate | elapsed/estim | play/CPU | ETA
ASAN:SIGSEGV
=================================================================
==27227==ERROR: AddressSanitizer: SEGV on unknown address 0x7fed449de850 (pc 0x7fef447d5ad3 bp 0x7ffe2d8ee530 sp 0x7ffe2d8ee460 T0)
    #0 0x7fef447d5ad2 in huffcode /root/faac_asan/faac/libfaac/huff2.c:217
    #1 0x7fef447d682c in huffbook /root/faac_asan/faac/libfaac/huff2.c:421
    #2 0x7fef447d2be6 in qlevel /root/faac_asan/faac/libfaac/quantize.c:282
    #3 0x7fef447d2ff8 in BlocQuant /root/faac_asan/faac/libfaac/quantize.c:312
    #4 0x7fef447c638e in faacEncEncode /root/faac_asan/faac/libfaac/frame.c:586
    #5 0x4057cf in main /root/faac_asan/faac/frontend/main.c:1071
    #6 0x7fef4440e82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #7 0x401968 in _start (/usr/local/faac-asan/bin/faac+0x401968)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /root/faac_asan/faac/libfaac/huff2.c:217 huffcode
==27227==ABORTING

POC FILE:https://github.com/fantasy7082/image_test/blob/master/005_unkown_addr_huff2_217_wav