Opened 8 years ago

Closed 8 years ago

#5026 closed defect (fixed)

VPK files cause floating point exception

Reported by: rxt Owned by:
Priority: important Component: avformat
Version: git-master Keywords: vpk crash fpe
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
ffmpeg/ffplay crashes with floating point exception when trying to decode VPK files.
The VPK files that I'm feeding it are "Wing Commander Privateer Audio", coming from MPlayer ticket http://trac.mplayerhq.hu/ticket/2252
They are probably not the same VPK files that libavformat can decode.
Files are attached.

gdb output:

(gdb) run -i /home/r/tht/qqsc/AGRRUM1.VPK /dev/null
Starting program: /home/r/Projects/ffmpeg-dev/ffmpeg_g -i /home/r/tht/qqsc/AGRRUM1.VPK /dev/null
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-76088-g8b1bc2b Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --enable-gpl --enable-postproc --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-nonfree --enable-version3 --enable-libmp3lame --samples=fate-suite/
  libavutil      55.  7.100 / 55.  7.100
  libavcodec     57. 15.100 / 57. 15.100
  libavformat    57. 18.100 / 57. 18.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 15.100 /  6. 15.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[vpk @ 0x1baa340] Format vpk detected only with low score of 1, misdetection possible!

Program received signal SIGFPE, Arithmetic exception.
0x000000000068aacd in vpk_read_header (s=0x1baa340) at libavformat/vpk.c:65
65	    vpk->block_count       = (st->duration + (samples_per_block - 1)) / samples_per_block;
(gdb) bt
#0  0x000000000068aacd in vpk_read_header (s=0x1baa340) at libavformat/vpk.c:65
#1  0x00000000006871d3 in avformat_open_input (ps=0x7fffffffdac8, 
    filename=<optimized out>, fmt=<optimized out>, options=0x1baa0a8)
    at libavformat/utils.c:482
#2  0x000000000047f4b6 in open_input_file (o=0x7fffffffdd90, 
    filename=0x800002a <error: Cannot access memory at address 0x800002a>)
    at ffmpeg_opt.c:950
#3  0x0000000000480a28 in open_files (inout=<optimized out>, 
    open_file=<optimized out>, l=<optimized out>, l=<optimized out>)
    at ffmpeg_opt.c:2939
#4  ffmpeg_parse_options (argc=1, argv=0x0) at ffmpeg_opt.c:2976
#5  0x0000000000473def in main (argc=4, argv=0x7fffffffe298) at ffmpeg.c:4273
(gdb) 

Attachments (2)

AGRRUM1.VPK (130.8 KB ) - added by rxt 8 years ago.
BUYFIGHT.VPK (373.7 KB ) - added by rxt 8 years ago.

Download all attachments as: .zip

Change History (3)

by rxt, 8 years ago

Attachment: AGRRUM1.VPK added

by rxt, 8 years ago

Attachment: BUYFIGHT.VPK added

comment:1 by Carl Eugen Hoyos, 8 years ago

Keywords: vpk crash fpe added
Priority: normalimportant
Reproduced by developer: set
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.