Opened 5 years ago

Closed 5 years ago

#396 closed defect (fixed)

libavdevice/vfwcap.c memory allocation error

Reported by: RickWinkpa 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 Changed 5 years ago by cehoyos

  • Keywords regression added
  • Status changed from new to open
  • Summary changed from libavdevice/vfwcvap.c memory allocation error to libavdevice/vfwcap.c memory allocation error
  • Version changed from unspecified to git-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 Changed 5 years ago by reimar

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 Changed 5 years ago by reimar

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.