Opened 13 years ago

Closed 13 years ago

#396 closed defect (fixed)

libavdevice/vfwcap.c memory allocation error

Reported by: Rick Winkelman Owned by:
Priority: important Component: avdevice
Version: git-master Keywords: vfwcap regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

vfw_read_header()

line 358 a structure memory area is freed

av_free(bi);

a few lines later, lines: 384 & 385 the freed memory are is used.

codec->width = bi->bmiHeader.biWidth;
codec->height = bi->bmiHeader.biHeight;

by debugging it, i have found the memory is already been used and corrupted. This causes erratic behavior with ffmpeg.exe

I tried the obvious corrections by copying the height and width values from the memory (bi) values before the free, and then used the copied values to set the codec values. This causes a hang in av_read_packet()
in ffmpeg.exe and an abort when debugged using eclipse.

Change History (3)

comment:1 by Carl Eugen Hoyos, 13 years ago

Keywords: regression added
Status: newopen
Summary: libavdevice/vfwcvap.c memory allocation errorlibavdevice/vfwcap.c memory allocation error
Version: unspecifiedgit-master

This is a regression since 3e15ea21504a5cc1765afd78dd72ef486a10a27b.

commit 3e15ea21504a5cc1765afd78dd72ef486a10a27b
Author: Anton Khirnov <anton@khirnov.net>
Date: Tue May 24 07:43:01 2011 +0200

vfwcap: add video_size private option.

comment:2 by reimar, 13 years ago

I just sent a patch, it would be great if you could help by testing it.
http://ffmpeg.org/pipermail/ffmpeg-devel/2011-August/114238.html

comment:3 by reimar, 13 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.