The following issues were found
libavcodec/audiotoolboxdec.c
2 issues
Line: 408
Column: 9
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
if (!at->extradata)
return AVERROR(ENOMEM);
at->extradata_size = avctx->extradata_size;
memcpy(at->extradata, avctx->extradata, avctx->extradata_size);
}
if ((avctx->channels && avctx->sample_rate) || ffat_usable_extradata(avctx))
return ffat_create_decoder(avctx, NULL);
else
Reported by FlawFinder.
Line: 497
Column: 17
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
if (!at->extradata)
return AVERROR(ENOMEM);
at->extradata_size = side_data_size;
memcpy(at->extradata, side_data, side_data_size);
}
}
}
if (!at->converter) {
Reported by FlawFinder.
libavfilter/vf_idet.c
2 issues
Line: 70
Column: 5
CWE codes:
134
Suggestion:
Use a constant for the format specification
value = av_rescale(value, print_precision, PRECISION);
snprintf(valuestr, sizeof(valuestr), "%"PRId64".%0*"PRId64,
value / print_precision, digits, value % print_precision);
return av_dict_set(pm, key, valuestr, flags);
}
Reported by FlawFinder.
Line: 65
Column: 5
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
static int av_dict_set_fxp(AVDictionary **pm, const char *key, uint64_t value, unsigned int digits,
int flags)
{
char valuestr[44];
uint64_t print_precision = uintpow(10, digits);
value = av_rescale(value, print_precision, PRECISION);
snprintf(valuestr, sizeof(valuestr), "%"PRId64".%0*"PRId64,
Reported by FlawFinder.
libavfilter/vf_mestimate.c
2 issues
Line: 166
Column: 22
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
s->cur = s->next;
s->next = frame;
s->mv_table[2] = memcpy(s->mv_table[2], s->mv_table[1], sizeof(*s->mv_table[1]) * s->b_count);
s->mv_table[1] = memcpy(s->mv_table[1], s->mv_table[0], sizeof(*s->mv_table[0]) * s->b_count);
if (!s->cur) {
s->cur = av_frame_clone(frame);
if (!s->cur)
Reported by FlawFinder.
Line: 167
Column: 22
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
s->next = frame;
s->mv_table[2] = memcpy(s->mv_table[2], s->mv_table[1], sizeof(*s->mv_table[1]) * s->b_count);
s->mv_table[1] = memcpy(s->mv_table[1], s->mv_table[0], sizeof(*s->mv_table[0]) * s->b_count);
if (!s->cur) {
s->cur = av_frame_clone(frame);
if (!s->cur)
return AVERROR(ENOMEM);
Reported by FlawFinder.
libavfilter/vf_minterpolate.c
2 issues
Line: 752
Column: 35
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
if (mi_ctx->mi_mode == MI_MODE_MCI) {
if (mi_ctx->me_method == AV_ME_METHOD_EPZS) {
mi_ctx->mv_table[2] = memcpy(mi_ctx->mv_table[2], mi_ctx->mv_table[1], sizeof(*mi_ctx->mv_table[1]) * mi_ctx->b_count);
mi_ctx->mv_table[1] = memcpy(mi_ctx->mv_table[1], mi_ctx->mv_table[0], sizeof(*mi_ctx->mv_table[0]) * mi_ctx->b_count);
}
if (mi_ctx->me_mode == ME_MODE_BIDIR) {
Reported by FlawFinder.
Line: 753
Column: 35
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
if (mi_ctx->me_method == AV_ME_METHOD_EPZS) {
mi_ctx->mv_table[2] = memcpy(mi_ctx->mv_table[2], mi_ctx->mv_table[1], sizeof(*mi_ctx->mv_table[1]) * mi_ctx->b_count);
mi_ctx->mv_table[1] = memcpy(mi_ctx->mv_table[1], mi_ctx->mv_table[0], sizeof(*mi_ctx->mv_table[0]) * mi_ctx->b_count);
}
if (mi_ctx->me_mode == ME_MODE_BIDIR) {
if (mi_ctx->frames[1].avf) {
Reported by FlawFinder.
libavcodec/indeo4.c
2 issues
Line: 453
Column: 5
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
}
band->blk_vlc = arg_band->blk_vlc;
memcpy(arg_band, band, sizeof(*arg_band));
return 0;
}
Reported by FlawFinder.
Line: 677
Column: 5
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
ff_ivi_init_static_vlc();
/* copy rvmap tables in our context so we can apply changes to them */
memcpy(ctx->rvmap_tabs, ff_ivi_rvmap_tabs, sizeof(ff_ivi_rvmap_tabs));
/* Force allocation of the internal buffers */
/* during picture header decoding. */
ctx->pic_conf.pic_width = 0;
ctx->pic_conf.pic_height = 0;
Reported by FlawFinder.
libavfilter/vf_scale.c
2 issues
Line: 287
Column: 9
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
FFSWAP(char *, scale->w_expr, scale->size_str);
if (scale->size_str) {
char buf[32];
if ((ret = av_parse_video_size(&scale->w, &scale->h, scale->size_str)) < 0) {
av_log(ctx, AV_LOG_ERROR,
"Invalid size '%s'\n", scale->size_str);
return ret;
}
Reported by FlawFinder.
Line: 656
Column: 5
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
AVFilterLink *outlink = ctx->outputs[0];
AVFrame *out;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format);
char buf[32];
int ret;
int in_range;
int frame_changed;
*frame_out = NULL;
Reported by FlawFinder.
libavfilter/vf_scroll.c
2 issues
Line: 97
Column: 17
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
const uint8_t *ssrc = src + yy * in->linesize[p];
if (s->pos_h[p] < w)
memcpy(dst, ssrc + s->pos_h[p], w - s->pos_h[p]);
if (s->pos_h[p] > 0)
memcpy(dst + w - s->pos_h[p], ssrc, s->pos_h[p]);
dst += out->linesize[p];
}
Reported by FlawFinder.
Line: 99
Column: 17
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
if (s->pos_h[p] < w)
memcpy(dst, ssrc + s->pos_h[p], w - s->pos_h[p]);
if (s->pos_h[p] > 0)
memcpy(dst + w - s->pos_h[p], ssrc, s->pos_h[p]);
dst += out->linesize[p];
}
}
Reported by FlawFinder.
libavfilter/vf_selectivecolor.c
2 issues
Line: 64
Column: 14
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
NB_CORRECTION_METHODS,
};
static const char *const color_names[NB_RANGES] = {
"red", "yellow", "green", "cyan", "blue", "magenta", "white", "neutral", "black"
};
typedef int (*get_range_scale_func)(int r, int g, int b, int min_val, int max_val);
Reported by FlawFinder.
Line: 83
Column: 5
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
typedef struct SelectiveColorContext {
const AVClass *class;
int correction_method;
char *opt_cmyk_adjust[NB_RANGES];
float cmyk_adjust[NB_RANGES][4];
struct process_range process_ranges[NB_RANGES]; // color ranges to process
int nb_process_ranges;
char *psfile;
uint8_t rgba_map[4];
Reported by FlawFinder.
libavfilter/vf_showinfo.c
2 issues
Line: 130
Column: 9
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
}
for (int j = 1; j <= tc[0]; j++) {
char tcbuf[AV_TIMECODE_STR_SIZE];
av_timecode_make_smpte_tc_string2(tcbuf, frame_rate, tc[j], 0, 0);
av_log(ctx, AV_LOG_INFO, "timecode - %s%s", tcbuf, j != tc[0] ? ", " : "");
}
}
Reported by FlawFinder.
Line: 606
Column: 13
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
dump_content_light_metadata(ctx, sd);
break;
case AV_FRAME_DATA_GOP_TIMECODE: {
char tcbuf[AV_TIMECODE_STR_SIZE];
av_timecode_make_mpeg_tc_string(tcbuf, *(int64_t *)(sd->data));
av_log(ctx, AV_LOG_INFO, "GOP timecode - %s", tcbuf);
break;
}
case AV_FRAME_DATA_VIDEO_ENC_PARAMS:
Reported by FlawFinder.
libavcodec/jpegtables.c
2 issues
Line: 41
Column: 23
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
* The spec says that the values given produce "good" quality, and
* when divided by 2, "very good" quality.
*/
static const unsigned char std_luminance_quant_tbl[64] = {
16, 11, 10, 16, 24, 40, 51, 61,
12, 12, 14, 19, 26, 58, 60, 55,
14, 13, 16, 24, 40, 57, 69, 56,
14, 17, 22, 29, 51, 87, 80, 62,
18, 22, 37, 56, 68, 109, 103, 77,
Reported by FlawFinder.
Line: 51
Column: 23
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
49, 64, 78, 87, 103, 121, 120, 101,
72, 92, 95, 98, 112, 100, 103, 99
};
static const unsigned char std_chrominance_quant_tbl[64] = {
17, 18, 24, 47, 99, 99, 99, 99,
18, 21, 26, 66, 99, 99, 99, 99,
24, 26, 56, 99, 99, 99, 99, 99,
47, 66, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99,
Reported by FlawFinder.