Bug 11773

Summary: crashes on some corrupted streams
Product: Sisyphus Reporter: Sergey Vlasov <vsu>
Component: libdcaAssignee: Valery Inozemtsev <shrek>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
abort decoding when bitalloc_huffman[i] == 7 none

Description Sergey Vlasov 2007-05-15 19:40:37 MSD
Обнаружено падение libdca-0.0.2-alt2 с SIGSEGV при декодировании испорченных
файлов из-за недостаточности проверок (в коде есть комментарий по поводу
недопустимости bitalloc_huffman[i] == 7, но фактически при этом ничего не
делается, и далее происходит выход за границы массивов).

Приложенный патч позволяет избежать SIGSEGV в подобных случаях.
Comment 1 Sergey Vlasov 2007-05-15 19:45:32 MSD
Created attachment 1966 [details]
abort decoding when bitalloc_huffman[i] == 7

According to the DTS spec, bitalloc_huffman[i] == 7 is undefined;
detect this value and abort frame decoding (otherwise subsequent
code will crash).
Comment 2 Valery Inozemtsev 2007-05-17 11:32:21 MSD
libdca-0.0.2-alt3