]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/cljr.c
Fix an exploit in indeo by checking we are not writing out of the strip array.
[ffmpeg] / libavcodec / cljr.c
index 21a3e50f88e148862b897d53675f6cd5d00d4e98..bb8ae2c7b52c2085c6add713f6c365f5d766a523 100644 (file)
 #include "dsputil.h"
 #include "bitstream.h"
 
+/* Disable the encoder. */
+#undef CONFIG_CLJR_ENCODER
+#define CONFIG_CLJR_ENCODER 0
+
 typedef struct CLJRContext{
     AVCodecContext *avctx;
     AVFrame picture;
@@ -81,8 +85,7 @@ static int decode_frame(AVCodecContext *avctx,
     return buf_size;
 }
 
-#if 0
-#ifdef CONFIG_CLJR_ENCODER
+#if CONFIG_CLJR_ENCODER
 static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
     CLJRContext * const a = avctx->priv_data;
     AVFrame *pict = data;
@@ -105,7 +108,6 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
     return size*4;
 }
 #endif
-#endif
 
 static av_cold void common_init(AVCodecContext *avctx){
     CLJRContext * const a = avctx->priv_data;
@@ -123,8 +125,7 @@ static av_cold int decode_init(AVCodecContext *avctx){
     return 0;
 }
 
-#if 0
-#ifdef CONFIG_CLJR_ENCODER
+#if CONFIG_CLJR_ENCODER
 static av_cold int encode_init(AVCodecContext *avctx){
 
     common_init(avctx);
@@ -132,7 +133,6 @@ static av_cold int encode_init(AVCodecContext *avctx){
     return 0;
 }
 #endif
-#endif
 
 AVCodec cljr_decoder = {
     "cljr",
@@ -146,8 +146,8 @@ AVCodec cljr_decoder = {
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
 };
-#if 0
-#ifdef CONFIG_CLJR_ENCODER
+
+#if CONFIG_CLJR_ENCODER
 AVCodec cljr_encoder = {
     "cljr",
     CODEC_TYPE_VIDEO,
@@ -159,4 +159,3 @@ AVCodec cljr_encoder = {
     .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
 };
 #endif
-#endif