[FFmpeg-devel] yadif relicensing
Michael Niedermayer
michaelni at gmx.at
Sun Feb 24 23:19:43 CET 2013
On Fri, Feb 22, 2013 at 08:49:21PM +0100, Jean-Baptiste Kempf wrote:
> On 22 Feb, Robert Krüger wrote :
> > Disclaimer: In many cases I am neither qualified nor do I feel
> > comfortable deciding about significance of the contributions but I
> > left out those contributors whose contributions to me were obviously
> > not legally significant accoding to
> > http://www.gnu.org/prep/maintain/html_node/Legally-Significant.html#Legally-Significant.
>
> This is bullshit and is only valid in the USA.
> All contributions are and MUST be checked and aknowledged. Even 1
> liners.
why does this remind me of todays libav commit:
commit e10659244782b26061e7d52c06437de32a43a7af
Author: Anton Khirnov <anton at khirnov.net>
Date: Thu Feb 14 17:58:12 2013 +0100
qtrle: add more checks against pixel_ptr being negative.
CC:libav-stable at libav.org
vs. once opon a time, years ago in ffmpeg:
commit 7fb92be7e50ea4ba5712804326c6814ae02dd190
Author: Laurent Aimar <fenrir at videolan.org>
Date: Sat Oct 8 23:40:36 2011 +0200
qtrle: check for out of bound writes.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
--------- Full diffs:
commit e10659244782b26061e7d52c06437de32a43a7af
Author: Anton Khirnov <anton at khirnov.net>
Date: Thu Feb 14 17:58:12 2013 +0100
qtrle: add more checks against pixel_ptr being negative.
CC:libav-stable at libav.org
diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c
index 5100e31..aef0bcc 100644
--- a/libavcodec/qtrle.c
+++ b/libavcodec/qtrle.c
@@ -117,6 +117,7 @@ static inline void qtrle_decode_2n4bpp(QtrleContext *s, int row_ptr,
while (lines_to_change--) {
pixel_ptr = row_ptr + (num_pixels * (bytestream2_get_byte(&s->g) - 1));
+ CHECK_PIXEL_PTR(0);
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
if (rle_code == 0) {
@@ -171,6 +172,7 @@ static void qtrle_decode_8bpp(QtrleContext *s, int row_ptr, int lines_to_change)
while (lines_to_change--) {
pixel_ptr = row_ptr + (4 * (bytestream2_get_byte(&s->g) - 1));
+ CHECK_PIXEL_PTR(0);
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
if (rle_code == 0) {
@@ -220,6 +222,7 @@ static void qtrle_decode_16bpp(QtrleContext *s, int row_ptr, int lines_to_change
while (lines_to_change--) {
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 2;
+ CHECK_PIXEL_PTR(0);
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
if (rle_code == 0) {
@@ -263,6 +266,7 @@ static void qtrle_decode_24bpp(QtrleContext *s, int row_ptr, int lines_to_change
while (lines_to_change--) {
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 3;
+ CHECK_PIXEL_PTR(0);
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
if (rle_code == 0) {
@@ -309,6 +313,7 @@ static void qtrle_decode_32bpp(QtrleContext *s, int row_ptr, int lines_to_change
while (lines_to_change--) {
pixel_ptr = row_ptr + (bytestream2_get_byte(&s->g) - 1) * 4;
+ CHECK_PIXEL_PTR(0);
while ((rle_code = (signed char)bytestream2_get_byte(&s->g)) != -1) {
if (rle_code == 0) {
commit 7fb92be7e50ea4ba5712804326c6814ae02dd190
Author: Laurent Aimar <fenrir at videolan.org>
Date: Sat Oct 8 23:40:36 2011 +0200
qtrle: check for out of bound writes.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c
index 7383cf2..43aea13 100644
--- a/libavcodec/qtrle.c
+++ b/libavcodec/qtrle.c
@@ -127,6 +127,7 @@ static inline void qtrle_decode_2n4bpp(QtrleContext *s, int stream_ptr,
while (lines_to_change--) {
CHECK_STREAM_PTR(2);
pixel_ptr = row_ptr + (num_pixels * (s->buf[stream_ptr++] - 1));
+ CHECK_PIXEL_PTR(0); /* make sure pixel_ptr is positive */
while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {
if (rle_code == 0) {
@@ -183,6 +184,7 @@ static void qtrle_decode_8bpp(QtrleContext *s, int stream_ptr, int row_ptr, int
while (lines_to_change--) {
CHECK_STREAM_PTR(2);
pixel_ptr = row_ptr + (4 * (s->buf[stream_ptr++] - 1));
+ CHECK_PIXEL_PTR(0); /* make sure pixel_ptr is positive */
while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {
if (rle_code == 0) {
@@ -236,6 +238,7 @@ static void qtrle_decode_16bpp(QtrleContext *s, int stream_ptr, int row_ptr, int
while (lines_to_change--) {
CHECK_STREAM_PTR(2);
pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 2;
+ CHECK_PIXEL_PTR(0); /* make sure pixel_ptr is positive */
while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {
if (rle_code == 0) {
@@ -285,6 +288,7 @@ static void qtrle_decode_24bpp(QtrleContext *s, int stream_ptr, int row_ptr, int
while (lines_to_change--) {
CHECK_STREAM_PTR(2);
pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 3;
+ CHECK_PIXEL_PTR(0); /* make sure pixel_ptr is positive */
while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {
if (rle_code == 0) {
@@ -336,6 +340,7 @@ static void qtrle_decode_32bpp(QtrleContext *s, int stream_ptr, int row_ptr, int
while (lines_to_change--) {
CHECK_STREAM_PTR(2);
pixel_ptr = row_ptr + (s->buf[stream_ptr++] - 1) * 4;
+ CHECK_PIXEL_PTR(0); /* make sure pixel_ptr is positive */
while ((rle_code = (signed char)s->buf[stream_ptr++]) != -1) {
if (rle_code == 0) {
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
It is what and why we do it that matters, not just one of them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130224/6f697372/attachment.asc>
More information about the ffmpeg-devel
mailing list