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:132) #21

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

Initial quantization quality: 13
Average bitrate: 17 kbps/channel
Bandwidth: 117 Hz
PNS level: 4
Object type: Low Complexity(MPEG-2) + IS + PNS
Container format: Transport Stream (ADTS)
Encoding faac_res/unkown_addr_huff2_132 to out.aac
   frame          | bitrate | elapsed/estim | play/CPU | ETA
ASAN:SIGSEGV
=================================================================
==27218==ERROR: AddressSanitizer: SEGV on unknown address 0x7f1ae4bdfe14 (pc 0x7f1ce49d6ffa bp 0x7ffebb8c3710 sp 0x7ffebb8c3640 T0)
    #0 0x7f1ce49d6ff9 in huffcode /root/faac_asan/faac/libfaac/huff2.c:132
    #1 0x7f1ce49d873a in huffbook /root/faac_asan/faac/libfaac/huff2.c:409
    #2 0x7f1ce49d4be6 in qlevel /root/faac_asan/faac/libfaac/quantize.c:282
    #3 0x7f1ce49d4ff8 in BlocQuant /root/faac_asan/faac/libfaac/quantize.c:312
    #4 0x7f1ce49c838e in faacEncEncode /root/faac_asan/faac/libfaac/frame.c:586
    #5 0x4057cf in main /root/faac_asan/faac/frontend/main.c:1071
    #6 0x7f1ce461082f 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:132 huffcode
==27218==ABORTING

POC FILE:https://github.com/fantasy7082/image_test/blob/master/002_unkown_addr_huff2_132_wav