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:167) #22

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_167  -o out.aac
Freeware Advanced Audio Coder
FAAC 1.29.9.2

Initial quantization quality: 100
Average bitrate: 64 kbps/channel
Bandwidth: 5504 Hz
PNS level: 4
Object type: Low Complexity(MPEG-2) + IS + PNS
Container format: Transport Stream (ADTS)
Encoding faac_res/unkown_addr_huff2_167 to out.aac
   frame          | bitrate | elapsed/estim | play/CPU | ETA
ASAN:SIGSEGV
=================================================================
==27221==ERROR: AddressSanitizer: SEGV on unknown address 0x7f7dfb85d134 (pc 0x7f7ffb654409 bp 0x7ffd2ae638c0 sp 0x7ffd2ae637f0 T0)
    #0 0x7f7ffb654408 in huffcode /root/faac_asan/faac/libfaac/huff2.c:167
    #1 0x7f7ffb65578d in huffbook /root/faac_asan/faac/libfaac/huff2.c:413
    #2 0x7f7ffb651be6 in qlevel /root/faac_asan/faac/libfaac/quantize.c:282
    #3 0x7f7ffb651ff8 in BlocQuant /root/faac_asan/faac/libfaac/quantize.c:312
    #4 0x7f7ffb64538e in faacEncEncode /root/faac_asan/faac/libfaac/frame.c:586
    #5 0x4057cf in main /root/faac_asan/faac/frontend/main.c:1071
    #6 0x7f7ffb28d82f 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:167 huffcode
==27221==ABORTING

POC FILE:https://github.com/fantasy7082/image_test/blob/master/003_unkown_addr_huff2_167_wav