[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