knik0 / faac

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

Invalid memory address dereference in huffcode (in libfaac/huff2.c:259) #25

Closed fantasy7082 closed 5 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_259  -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_259 to out.aac
   frame          | bitrate | elapsed/estim | play/CPU | ETA
ASAN:SIGSEGV
=================================================================
==27230==ERROR: AddressSanitizer: SEGV on unknown address 0x7f3599266fe0 (pc 0x7f379905df34 bp 0x7ffe3392bea0 sp 0x7ffe3392bdd0 T0)
    #0 0x7f379905df33 in huffcode /root/faac_asan/faac/libfaac/huff2.c:259
    #1 0x7f379905e877 in huffbook /root/faac_asan/faac/libfaac/huff2.c:435
    #2 0x7f379905abe6 in qlevel /root/faac_asan/faac/libfaac/quantize.c:282
    #3 0x7f379905aff8 in BlocQuant /root/faac_asan/faac/libfaac/quantize.c:312
    #4 0x7f379904e38e in faacEncEncode /root/faac_asan/faac/libfaac/frame.c:586
    #5 0x4057cf in main /root/faac_asan/faac/frontend/main.c:1071
    #6 0x7f3798c9682f 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:259 huffcode
==27230==ABORTING

POC FILE:https://github.com/fantasy7082/image_test/blob/master/006_unkown_addr_huff2_259_wav