Bug#401304: Patch for this RC-bug
Andreas Barth
aba at not.so.argh.org
Tue Dec 5 23:15:53 CET 2006
tags 401304 + patch
thanks
Hi,
I have an patch - if you want, I can as well NMU it.
Cheers,
Andi
diff -ur gst-ffmpeg-0.8.7~/debian/changelog gst-ffmpeg-0.8.7/debian/changelog
--- gst-ffmpeg-0.8.7~/debian/changelog 2006-12-05 22:04:36.000000000 +0000
+++ gst-ffmpeg-0.8.7/debian/changelog 2006-12-05 22:13:32.000000000 +0000
@@ -1,3 +1,10 @@
+gst-ffmpeg (0.8.7-6.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix buffer overflow in 4XM code (CVE-2006-4800). Closes: #401304
+
+ -- Andreas Barth <aba at not.so.argh.org> Tue, 5 Dec 2006 22:08:21 +0000
+
gst-ffmpeg (0.8.7-6) unstable; urgency=low
* Backport fixes from gstreamer0.10-ffmpeg 0.10.0-2.
diff -ur gst-ffmpeg-0.8.7~/gst-libs/ext/ffmpeg/libavcodec/4xm.c gst-ffmpeg-0.8.7/gst-libs/ext/ffmpeg/libavcodec/4xm.c
--- gst-ffmpeg-0.8.7~/gst-libs/ext/ffmpeg/libavcodec/4xm.c 2005-07-20 15:39:33.000000000 +0000
+++ gst-ffmpeg-0.8.7/gst-libs/ext/ffmpeg/libavcodec/4xm.c 2006-12-05 22:08:00.000000000 +0000
@@ -606,7 +606,7 @@
int i, frame_4cc, frame_size;
frame_4cc= get32(buf);
- if(buf_size != get32(buf+4)+8){
+ if(buf_size != get32(buf+4)+8 || buf_size < 20){
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %d\n", buf_size, get32(buf+4));
}
@@ -634,6 +634,10 @@
cfrm= &f->cfrm[i];
cfrm->data= av_fast_realloc(cfrm->data, &cfrm->allocated_size, cfrm->size + data_size + FF_INPUT_BUFFER_PADDING_SIZE);
+ if(!cfrm->data){ //explicit check needed as memcpy below might not catch a NULL
+ av_log(f->avctx, AV_LOG_ERROR, "realloc falure");
+ return -1;
+ }
memcpy(cfrm->data + cfrm->size, buf+20, data_size);
cfrm->size += data_size;
--
http://home.arcor.de/andreas-barth/
More information about the Pkg-gstreamer-maintainers
mailing list