Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/mlt-6.22.1/src/examples/play.cpp Examining data/mlt-6.22.1/src/framework/mlt.h Examining data/mlt-6.22.1/src/framework/mlt_animation.c Examining data/mlt-6.22.1/src/framework/mlt_animation.h Examining data/mlt-6.22.1/src/framework/mlt_audio.c Examining data/mlt-6.22.1/src/framework/mlt_audio.h Examining data/mlt-6.22.1/src/framework/mlt_cache.c Examining data/mlt-6.22.1/src/framework/mlt_cache.h Examining data/mlt-6.22.1/src/framework/mlt_consumer.c Examining data/mlt-6.22.1/src/framework/mlt_consumer.h Examining data/mlt-6.22.1/src/framework/mlt_deque.c Examining data/mlt-6.22.1/src/framework/mlt_deque.h Examining data/mlt-6.22.1/src/framework/mlt_events.c Examining data/mlt-6.22.1/src/framework/mlt_events.h Examining data/mlt-6.22.1/src/framework/mlt_factory.c Examining data/mlt-6.22.1/src/framework/mlt_factory.h Examining data/mlt-6.22.1/src/framework/mlt_field.c Examining data/mlt-6.22.1/src/framework/mlt_field.h Examining data/mlt-6.22.1/src/framework/mlt_filter.c Examining data/mlt-6.22.1/src/framework/mlt_filter.h Examining data/mlt-6.22.1/src/framework/mlt_frame.c Examining data/mlt-6.22.1/src/framework/mlt_frame.h Examining data/mlt-6.22.1/src/framework/mlt_geometry.c Examining data/mlt-6.22.1/src/framework/mlt_geometry.h Examining data/mlt-6.22.1/src/framework/mlt_log.c Examining data/mlt-6.22.1/src/framework/mlt_log.h Examining data/mlt-6.22.1/src/framework/mlt_luma_map.c Examining data/mlt-6.22.1/src/framework/mlt_luma_map.h Examining data/mlt-6.22.1/src/framework/mlt_multitrack.c Examining data/mlt-6.22.1/src/framework/mlt_multitrack.h Examining data/mlt-6.22.1/src/framework/mlt_parser.c Examining data/mlt-6.22.1/src/framework/mlt_parser.h Examining data/mlt-6.22.1/src/framework/mlt_playlist.c Examining data/mlt-6.22.1/src/framework/mlt_playlist.h Examining data/mlt-6.22.1/src/framework/mlt_pool.c Examining data/mlt-6.22.1/src/framework/mlt_pool.h Examining data/mlt-6.22.1/src/framework/mlt_producer.c Examining data/mlt-6.22.1/src/framework/mlt_producer.h Examining data/mlt-6.22.1/src/framework/mlt_profile.c Examining data/mlt-6.22.1/src/framework/mlt_profile.h Examining data/mlt-6.22.1/src/framework/mlt_properties.c Examining data/mlt-6.22.1/src/framework/mlt_properties.h Examining data/mlt-6.22.1/src/framework/mlt_property.c Examining data/mlt-6.22.1/src/framework/mlt_property.h Examining data/mlt-6.22.1/src/framework/mlt_repository.c Examining data/mlt-6.22.1/src/framework/mlt_repository.h Examining data/mlt-6.22.1/src/framework/mlt_service.c Examining data/mlt-6.22.1/src/framework/mlt_service.h Examining data/mlt-6.22.1/src/framework/mlt_slices.c Examining data/mlt-6.22.1/src/framework/mlt_slices.h Examining data/mlt-6.22.1/src/framework/mlt_tokeniser.c Examining data/mlt-6.22.1/src/framework/mlt_tokeniser.h Examining data/mlt-6.22.1/src/framework/mlt_tractor.c Examining data/mlt-6.22.1/src/framework/mlt_tractor.h Examining data/mlt-6.22.1/src/framework/mlt_transition.c Examining data/mlt-6.22.1/src/framework/mlt_transition.h Examining data/mlt-6.22.1/src/framework/mlt_types.h Examining data/mlt-6.22.1/src/framework/mlt_version.c Examining data/mlt-6.22.1/src/framework/mlt_version.h Examining data/mlt-6.22.1/src/melt/io.c Examining data/mlt-6.22.1/src/melt/io.h Examining data/mlt-6.22.1/src/melt/melt.c Examining data/mlt-6.22.1/src/mlt++/Mlt.h Examining data/mlt-6.22.1/src/mlt++/MltAnimation.cpp Examining data/mlt-6.22.1/src/mlt++/MltAnimation.h Examining data/mlt-6.22.1/src/mlt++/MltAudio.cpp Examining data/mlt-6.22.1/src/mlt++/MltAudio.h Examining data/mlt-6.22.1/src/mlt++/MltConfig.h Examining data/mlt-6.22.1/src/mlt++/MltConsumer.cpp Examining data/mlt-6.22.1/src/mlt++/MltConsumer.h Examining data/mlt-6.22.1/src/mlt++/MltDeque.cpp Examining data/mlt-6.22.1/src/mlt++/MltDeque.h Examining data/mlt-6.22.1/src/mlt++/MltEvent.cpp Examining data/mlt-6.22.1/src/mlt++/MltEvent.h Examining data/mlt-6.22.1/src/mlt++/MltFactory.cpp Examining data/mlt-6.22.1/src/mlt++/MltFactory.h Examining data/mlt-6.22.1/src/mlt++/MltField.cpp Examining data/mlt-6.22.1/src/mlt++/MltField.h Examining data/mlt-6.22.1/src/mlt++/MltFilter.cpp Examining data/mlt-6.22.1/src/mlt++/MltFilter.h Examining data/mlt-6.22.1/src/mlt++/MltFilteredConsumer.cpp Examining data/mlt-6.22.1/src/mlt++/MltFilteredConsumer.h Examining data/mlt-6.22.1/src/mlt++/MltFilteredProducer.cpp Examining data/mlt-6.22.1/src/mlt++/MltFilteredProducer.h Examining data/mlt-6.22.1/src/mlt++/MltFrame.cpp Examining data/mlt-6.22.1/src/mlt++/MltFrame.h Examining data/mlt-6.22.1/src/mlt++/MltGeometry.cpp Examining data/mlt-6.22.1/src/mlt++/MltGeometry.h Examining data/mlt-6.22.1/src/mlt++/MltMultitrack.cpp Examining data/mlt-6.22.1/src/mlt++/MltMultitrack.h Examining data/mlt-6.22.1/src/mlt++/MltParser.cpp Examining data/mlt-6.22.1/src/mlt++/MltParser.h Examining data/mlt-6.22.1/src/mlt++/MltPlaylist.cpp Examining data/mlt-6.22.1/src/mlt++/MltPlaylist.h Examining data/mlt-6.22.1/src/mlt++/MltProducer.cpp Examining data/mlt-6.22.1/src/mlt++/MltProducer.h Examining data/mlt-6.22.1/src/mlt++/MltProfile.cpp Examining data/mlt-6.22.1/src/mlt++/MltProfile.h Examining data/mlt-6.22.1/src/mlt++/MltProperties.cpp Examining data/mlt-6.22.1/src/mlt++/MltProperties.h Examining data/mlt-6.22.1/src/mlt++/MltPushConsumer.cpp Examining data/mlt-6.22.1/src/mlt++/MltPushConsumer.h Examining data/mlt-6.22.1/src/mlt++/MltRepository.cpp Examining data/mlt-6.22.1/src/mlt++/MltRepository.h Examining data/mlt-6.22.1/src/mlt++/MltService.cpp Examining data/mlt-6.22.1/src/mlt++/MltService.h Examining data/mlt-6.22.1/src/mlt++/MltTokeniser.cpp Examining data/mlt-6.22.1/src/mlt++/MltTokeniser.h Examining data/mlt-6.22.1/src/mlt++/MltTractor.cpp Examining data/mlt-6.22.1/src/mlt++/MltTractor.h Examining data/mlt-6.22.1/src/mlt++/MltTransition.cpp Examining data/mlt-6.22.1/src/mlt++/MltTransition.h Examining data/mlt-6.22.1/src/modules/avformat/common.c Examining data/mlt-6.22.1/src/modules/avformat/common.h Examining data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c Examining data/mlt-6.22.1/src/modules/avformat/factory.c Examining data/mlt-6.22.1/src/modules/avformat/filter_avcolour_space.c Examining data/mlt-6.22.1/src/modules/avformat/filter_avdeinterlace.c Examining data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c Examining data/mlt-6.22.1/src/modules/avformat/filter_swresample.c Examining data/mlt-6.22.1/src/modules/avformat/filter_swscale.c Examining data/mlt-6.22.1/src/modules/avformat/mmx.h Examining data/mlt-6.22.1/src/modules/avformat/producer_avformat.c Examining data/mlt-6.22.1/src/modules/avformat/vdpau.c Examining data/mlt-6.22.1/src/modules/core/composite_line_yuv_sse2_simple.c Examining data/mlt-6.22.1/src/modules/core/consumer_multi.c Examining data/mlt-6.22.1/src/modules/core/consumer_null.c Examining data/mlt-6.22.1/src/modules/core/factory.c Examining data/mlt-6.22.1/src/modules/core/filter_audiochannels.c Examining data/mlt-6.22.1/src/modules/core/filter_audioconvert.c Examining data/mlt-6.22.1/src/modules/core/filter_audiomap.c Examining data/mlt-6.22.1/src/modules/core/filter_audiowave.c Examining data/mlt-6.22.1/src/modules/core/filter_brightness.c Examining data/mlt-6.22.1/src/modules/core/filter_channelcopy.c Examining data/mlt-6.22.1/src/modules/core/filter_crop.c Examining data/mlt-6.22.1/src/modules/core/filter_data_feed.c Examining data/mlt-6.22.1/src/modules/core/filter_data_show.c Examining data/mlt-6.22.1/src/modules/core/filter_fieldorder.c Examining data/mlt-6.22.1/src/modules/core/filter_gamma.c Examining data/mlt-6.22.1/src/modules/core/filter_greyscale.c Examining data/mlt-6.22.1/src/modules/core/filter_imageconvert.c Examining data/mlt-6.22.1/src/modules/core/filter_luma.c Examining data/mlt-6.22.1/src/modules/core/filter_mask_apply.c Examining data/mlt-6.22.1/src/modules/core/filter_mask_start.c Examining data/mlt-6.22.1/src/modules/core/filter_mirror.c Examining data/mlt-6.22.1/src/modules/core/filter_mono.c Examining data/mlt-6.22.1/src/modules/core/filter_obscure.c Examining data/mlt-6.22.1/src/modules/core/filter_panner.c Examining data/mlt-6.22.1/src/modules/core/filter_region.c Examining data/mlt-6.22.1/src/modules/core/filter_rescale.c Examining data/mlt-6.22.1/src/modules/core/filter_resize.c Examining data/mlt-6.22.1/src/modules/core/filter_transition.c Examining data/mlt-6.22.1/src/modules/core/filter_watermark.c Examining data/mlt-6.22.1/src/modules/core/producer_colour.c Examining data/mlt-6.22.1/src/modules/core/producer_consumer.c Examining data/mlt-6.22.1/src/modules/core/producer_hold.c Examining data/mlt-6.22.1/src/modules/core/producer_loader.c Examining data/mlt-6.22.1/src/modules/core/producer_melt.c Examining data/mlt-6.22.1/src/modules/core/producer_noise.c Examining data/mlt-6.22.1/src/modules/core/producer_timewarp.c Examining data/mlt-6.22.1/src/modules/core/producer_tone.c Examining data/mlt-6.22.1/src/modules/core/transition_composite.c Examining data/mlt-6.22.1/src/modules/core/transition_composite.h Examining data/mlt-6.22.1/src/modules/core/transition_luma.c Examining data/mlt-6.22.1/src/modules/core/transition_matte.c Examining data/mlt-6.22.1/src/modules/core/transition_mix.c Examining data/mlt-6.22.1/src/modules/core/transition_region.c Examining data/mlt-6.22.1/src/modules/core/transition_region.h Examining data/mlt-6.22.1/src/modules/decklink/common.cpp Examining data/mlt-6.22.1/src/modules/decklink/common.h Examining data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp Examining data/mlt-6.22.1/src/modules/decklink/darwin/DeckLinkAPI.h Examining data/mlt-6.22.1/src/modules/decklink/darwin/DeckLinkAPIDispatch.cpp Examining data/mlt-6.22.1/src/modules/decklink/linux/DeckLinkAPI.h Examining data/mlt-6.22.1/src/modules/decklink/linux/DeckLinkAPIDispatch.cpp Examining data/mlt-6.22.1/src/modules/decklink/linux/LinuxCOM.h Examining data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp Examining data/mlt-6.22.1/src/modules/decklink/win/DeckLinkAPI_h.h Examining data/mlt-6.22.1/src/modules/decklink/win/DeckLinkAPI_i.cpp Examining data/mlt-6.22.1/src/modules/dv/consumer_libdv.c Examining data/mlt-6.22.1/src/modules/dv/factory.c Examining data/mlt-6.22.1/src/modules/dv/producer_libdv.c Examining data/mlt-6.22.1/src/modules/frei0r/factory.c Examining data/mlt-6.22.1/src/modules/frei0r/filter_cairoblend_mode.c Examining data/mlt-6.22.1/src/modules/frei0r/filter_frei0r.c Examining data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c Examining data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.h Examining data/mlt-6.22.1/src/modules/frei0r/producer_frei0r.c Examining data/mlt-6.22.1/src/modules/frei0r/transition_frei0r.c Examining data/mlt-6.22.1/src/modules/gdk/factory.c Examining data/mlt-6.22.1/src/modules/gdk/filter_rescale.c Examining data/mlt-6.22.1/src/modules/gdk/pixops.c Examining data/mlt-6.22.1/src/modules/gdk/pixops.h Examining data/mlt-6.22.1/src/modules/gdk/producer_pango.c Examining data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c Examining data/mlt-6.22.1/src/modules/gtk2/consumer_gtk2.c Examining data/mlt-6.22.1/src/modules/gtk2/factory.c Examining data/mlt-6.22.1/src/modules/jackrack/consumer_jack.c Examining data/mlt-6.22.1/src/modules/jackrack/factory.c Examining data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c Examining data/mlt-6.22.1/src/modules/jackrack/filter_ladspa.c Examining data/mlt-6.22.1/src/modules/jackrack/jack_rack.c Examining data/mlt-6.22.1/src/modules/jackrack/jack_rack.h Examining data/mlt-6.22.1/src/modules/jackrack/lock_free_fifo.c Examining data/mlt-6.22.1/src/modules/jackrack/lock_free_fifo.h Examining data/mlt-6.22.1/src/modules/jackrack/plugin.c Examining data/mlt-6.22.1/src/modules/jackrack/plugin.h Examining data/mlt-6.22.1/src/modules/jackrack/plugin_desc.c Examining data/mlt-6.22.1/src/modules/jackrack/plugin_desc.h Examining data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c Examining data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.h Examining data/mlt-6.22.1/src/modules/jackrack/plugin_settings.c Examining data/mlt-6.22.1/src/modules/jackrack/plugin_settings.h Examining data/mlt-6.22.1/src/modules/jackrack/process.c Examining data/mlt-6.22.1/src/modules/jackrack/process.h Examining data/mlt-6.22.1/src/modules/jackrack/producer_ladspa.c Examining data/mlt-6.22.1/src/modules/kdenlive/factory.c Examining data/mlt-6.22.1/src/modules/kdenlive/filter_boxblur.c Examining data/mlt-6.22.1/src/modules/kdenlive/filter_freeze.c Examining data/mlt-6.22.1/src/modules/kdenlive/filter_wave.c Examining data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c Examining data/mlt-6.22.1/src/modules/kino/avi.cc Examining data/mlt-6.22.1/src/modules/kino/avi.h Examining data/mlt-6.22.1/src/modules/kino/endian_types.h Examining data/mlt-6.22.1/src/modules/kino/error.cc Examining data/mlt-6.22.1/src/modules/kino/error.h Examining data/mlt-6.22.1/src/modules/kino/factory.c Examining data/mlt-6.22.1/src/modules/kino/filehandler.cc Examining data/mlt-6.22.1/src/modules/kino/filehandler.h Examining data/mlt-6.22.1/src/modules/kino/kino_wrapper.cc Examining data/mlt-6.22.1/src/modules/kino/kino_wrapper.h Examining data/mlt-6.22.1/src/modules/kino/producer_kino.c Examining data/mlt-6.22.1/src/modules/kino/riff.cc Examining data/mlt-6.22.1/src/modules/kino/riff.h Examining data/mlt-6.22.1/src/modules/linsys/consumer_SDIstream.c Examining data/mlt-6.22.1/src/modules/linsys/factory.c Examining data/mlt-6.22.1/src/modules/linsys/sdi_generator.c Examining data/mlt-6.22.1/src/modules/linsys/sdi_generator.h Examining data/mlt-6.22.1/src/modules/lumas/luma.c Examining data/mlt-6.22.1/src/modules/motion_est/arrow_code.c Examining data/mlt-6.22.1/src/modules/motion_est/arrow_code.h Examining data/mlt-6.22.1/src/modules/motion_est/factory.c Examining data/mlt-6.22.1/src/modules/motion_est/filter_autotrack_rectangle.c Examining data/mlt-6.22.1/src/modules/motion_est/filter_crop_detect.c Examining data/mlt-6.22.1/src/modules/motion_est/filter_motion_est.c Examining data/mlt-6.22.1/src/modules/motion_est/filter_motion_est.h Examining data/mlt-6.22.1/src/modules/motion_est/filter_vismv.c Examining data/mlt-6.22.1/src/modules/motion_est/producer_slowmotion.c Examining data/mlt-6.22.1/src/modules/motion_est/sad_sse.h Examining data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c Examining data/mlt-6.22.1/src/modules/ndi/factory.c Examining data/mlt-6.22.1/src/modules/ndi/factory.h Examining data/mlt-6.22.1/src/modules/ndi/producer_ndi.c Examining data/mlt-6.22.1/src/modules/normalize/factory.c Examining data/mlt-6.22.1/src/modules/normalize/filter_audiolevel.c Examining data/mlt-6.22.1/src/modules/normalize/filter_volume.c Examining data/mlt-6.22.1/src/modules/oldfilm/factory.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_grain.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_oldfilm.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_tcolor.c Examining data/mlt-6.22.1/src/modules/oldfilm/filter_vignette.c Examining data/mlt-6.22.1/src/modules/opencv/factory.c Examining data/mlt-6.22.1/src/modules/opencv/filter_opencv_tracker.cpp Examining data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c Examining data/mlt-6.22.1/src/modules/opengl/factory.c Examining data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.h Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_blur.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_crop.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_deconvolution_sharpen.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_diffusion.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_flip.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_glow.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_lift_gamma_gain.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_mirror.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_opacity.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_rect.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_resample.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_resize.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_saturation.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_vignette.cpp Examining data/mlt-6.22.1/src/modules/opengl/filter_movit_white_balance.cpp Examining data/mlt-6.22.1/src/modules/opengl/mlt_flip_effect.h Examining data/mlt-6.22.1/src/modules/opengl/mlt_movit_input.cpp Examining data/mlt-6.22.1/src/modules/opengl/mlt_movit_input.h Examining data/mlt-6.22.1/src/modules/opengl/optional_effect.h Examining data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp Examining data/mlt-6.22.1/src/modules/opengl/transition_movit_mix.cpp Examining data/mlt-6.22.1/src/modules/opengl/transition_movit_overlay.cpp Examining data/mlt-6.22.1/src/modules/plus/consumer_blipflash.c Examining data/mlt-6.22.1/src/modules/plus/ebur128/ebur128.c Examining data/mlt-6.22.1/src/modules/plus/ebur128/ebur128.h Examining data/mlt-6.22.1/src/modules/plus/ebur128/queue/sys/queue.h Examining data/mlt-6.22.1/src/modules/plus/factory.c Examining data/mlt-6.22.1/src/modules/plus/filter_affine.c Examining data/mlt-6.22.1/src/modules/plus/filter_charcoal.c Examining data/mlt-6.22.1/src/modules/plus/filter_dance.c Examining data/mlt-6.22.1/src/modules/plus/filter_dynamic_loudness.c Examining data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c Examining data/mlt-6.22.1/src/modules/plus/filter_fft.c Examining data/mlt-6.22.1/src/modules/plus/filter_invert.c Examining data/mlt-6.22.1/src/modules/plus/filter_lift_gamma_gain.c Examining data/mlt-6.22.1/src/modules/plus/filter_loudness.c Examining data/mlt-6.22.1/src/modules/plus/filter_loudness_meter.c Examining data/mlt-6.22.1/src/modules/plus/filter_lumakey.c Examining data/mlt-6.22.1/src/modules/plus/filter_rgblut.c Examining data/mlt-6.22.1/src/modules/plus/filter_sepia.c Examining data/mlt-6.22.1/src/modules/plus/filter_spot_remover.c Examining data/mlt-6.22.1/src/modules/plus/filter_text.c Examining data/mlt-6.22.1/src/modules/plus/filter_timer.c Examining data/mlt-6.22.1/src/modules/plus/interp.h Examining data/mlt-6.22.1/src/modules/plus/producer_blipflash.c Examining data/mlt-6.22.1/src/modules/plus/producer_count.c Examining data/mlt-6.22.1/src/modules/plus/transition_affine.c Examining data/mlt-6.22.1/src/modules/plusgpl/cJSON.c Examining data/mlt-6.22.1/src/modules/plusgpl/cJSON.h Examining data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c Examining data/mlt-6.22.1/src/modules/plusgpl/factory.c Examining data/mlt-6.22.1/src/modules/plusgpl/filter_burn.c Examining data/mlt-6.22.1/src/modules/plusgpl/filter_lumaliftgaingamma.c Examining data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c Examining data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c Examining data/mlt-6.22.1/src/modules/plusgpl/image.c Examining data/mlt-6.22.1/src/modules/plusgpl/utils.c Examining data/mlt-6.22.1/src/modules/plusgpl/utils.h Examining data/mlt-6.22.1/src/modules/qt/common.cpp Examining data/mlt-6.22.1/src/modules/qt/common.h Examining data/mlt-6.22.1/src/modules/qt/consumer_qglsl.cpp Examining data/mlt-6.22.1/src/modules/qt/factory.c Examining data/mlt-6.22.1/src/modules/qt/filter_audiospectrum.cpp Examining data/mlt-6.22.1/src/modules/qt/filter_audiowaveform.cpp Examining data/mlt-6.22.1/src/modules/qt/filter_lightshow.cpp Examining data/mlt-6.22.1/src/modules/qt/filter_qtblend.cpp Examining data/mlt-6.22.1/src/modules/qt/filter_qtext.cpp Examining data/mlt-6.22.1/src/modules/qt/graph.cpp Examining data/mlt-6.22.1/src/modules/qt/graph.h Examining data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp Examining data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.h Examining data/mlt-6.22.1/src/modules/qt/producer_kdenlivetitle.c Examining data/mlt-6.22.1/src/modules/qt/producer_qimage.c Examining data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp Examining data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp Examining data/mlt-6.22.1/src/modules/qt/qimage_wrapper.h Examining data/mlt-6.22.1/src/modules/qt/transition_qtblend.cpp Examining data/mlt-6.22.1/src/modules/qt/transition_vqm.cpp Examining data/mlt-6.22.1/src/modules/resample/factory.c Examining data/mlt-6.22.1/src/modules/resample/filter_resample.c Examining data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp Examining data/mlt-6.22.1/src/modules/rtaudio/RtAudio.h Examining data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp Examining data/mlt-6.22.1/src/modules/rubberband/factory.c Examining data/mlt-6.22.1/src/modules/rubberband/filter_rbpitch.cpp Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl_audio.c Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl_osx.h Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl_osx_hack.h Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl_preview.c Examining data/mlt-6.22.1/src/modules/sdl/consumer_sdl_still.c Examining data/mlt-6.22.1/src/modules/sdl/factory.c Examining data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c Examining data/mlt-6.22.1/src/modules/sdl2/common.c Examining data/mlt-6.22.1/src/modules/sdl2/common.h Examining data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2.c Examining data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2_audio.c Examining data/mlt-6.22.1/src/modules/sdl2/factory.c Examining data/mlt-6.22.1/src/modules/sox/factory.c Examining data/mlt-6.22.1/src/modules/sox/filter_sox.c Examining data/mlt-6.22.1/src/modules/swfdec/producer_swfdec.c Examining data/mlt-6.22.1/src/modules/vid.stab/common.c Examining data/mlt-6.22.1/src/modules/vid.stab/common.h Examining data/mlt-6.22.1/src/modules/vid.stab/factory.c Examining data/mlt-6.22.1/src/modules/vid.stab/filter_deshake.cpp Examining data/mlt-6.22.1/src/modules/vid.stab/filter_vidstab.cpp Examining data/mlt-6.22.1/src/modules/videostab/factory.c Examining data/mlt-6.22.1/src/modules/videostab/filter_videostab.c Examining data/mlt-6.22.1/src/modules/videostab/filter_videostab2.c Examining data/mlt-6.22.1/src/modules/videostab/stab/estimate.c Examining data/mlt-6.22.1/src/modules/videostab/stab/estimate.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/base.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/convolve.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/convolve.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/error.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/error.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/klt.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/klt.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/klt_util.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/klt_util.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/pyramid.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/pyramid.h Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/selectGoodFeatures.c Examining data/mlt-6.22.1/src/modules/videostab/stab/klt/trackFeatures.c Examining data/mlt-6.22.1/src/modules/videostab/stab/main.c Examining data/mlt-6.22.1/src/modules/videostab/stab/resample.c Examining data/mlt-6.22.1/src/modules/videostab/stab/resample.h Examining data/mlt-6.22.1/src/modules/videostab/stab/utils.c Examining data/mlt-6.22.1/src/modules/videostab/stab/utils.h Examining data/mlt-6.22.1/src/modules/videostab/stab/vector.c Examining data/mlt-6.22.1/src/modules/videostab/stab/vector.h Examining data/mlt-6.22.1/src/modules/videostab/stabilize.c Examining data/mlt-6.22.1/src/modules/videostab/stabilize.h Examining data/mlt-6.22.1/src/modules/videostab/tlist.c Examining data/mlt-6.22.1/src/modules/videostab/tlist.h Examining data/mlt-6.22.1/src/modules/videostab/transform.c Examining data/mlt-6.22.1/src/modules/videostab/transform.h Examining data/mlt-6.22.1/src/modules/videostab/transform_image.c Examining data/mlt-6.22.1/src/modules/videostab/transform_image.h Examining data/mlt-6.22.1/src/modules/vmfx/factory.c Examining data/mlt-6.22.1/src/modules/vmfx/filter_chroma.c Examining data/mlt-6.22.1/src/modules/vmfx/filter_chroma_hold.c Examining data/mlt-6.22.1/src/modules/vmfx/filter_mono.c Examining data/mlt-6.22.1/src/modules/vmfx/filter_shape.c Examining data/mlt-6.22.1/src/modules/vmfx/producer_pgm.c Examining data/mlt-6.22.1/src/modules/vorbis/factory.c Examining data/mlt-6.22.1/src/modules/vorbis/producer_vorbis.c Examining data/mlt-6.22.1/src/modules/xine/attributes.h Examining data/mlt-6.22.1/src/modules/xine/cpu_accel.c Examining data/mlt-6.22.1/src/modules/xine/deinterlace.c Examining data/mlt-6.22.1/src/modules/xine/deinterlace.h Examining data/mlt-6.22.1/src/modules/xine/factory.c Examining data/mlt-6.22.1/src/modules/xine/filter_deinterlace.c Examining data/mlt-6.22.1/src/modules/xine/vf_yadif_template.h Examining data/mlt-6.22.1/src/modules/xine/xineutils.h Examining data/mlt-6.22.1/src/modules/xine/yadif.c Examining data/mlt-6.22.1/src/modules/xine/yadif.h Examining data/mlt-6.22.1/src/modules/xml/common.c Examining data/mlt-6.22.1/src/modules/xml/common.h Examining data/mlt-6.22.1/src/modules/xml/consumer_xml.c Examining data/mlt-6.22.1/src/modules/xml/factory.c Examining data/mlt-6.22.1/src/modules/xml/producer_xml.c Examining data/mlt-6.22.1/src/tests/test_animation/test_animation.cpp Examining data/mlt-6.22.1/src/tests/test_audio/test_audio.cpp Examining data/mlt-6.22.1/src/tests/test_events/test_events.cpp Examining data/mlt-6.22.1/src/tests/test_filter/test_filter.cpp Examining data/mlt-6.22.1/src/tests/test_frame/test_frame.cpp Examining data/mlt-6.22.1/src/tests/test_playlist/test_playlist.cpp Examining data/mlt-6.22.1/src/tests/test_properties/test_properties.cpp Examining data/mlt-6.22.1/src/tests/test_repository/test_repository.cpp Examining data/mlt-6.22.1/src/tests/test_service/test_service.cpp Examining data/mlt-6.22.1/src/tests/test_tractor/test_tractor.cpp Examining data/mlt-6.22.1/src/win32/fnmatch.c Examining data/mlt-6.22.1/src/win32/fnmatch.h Examining data/mlt-6.22.1/src/win32/strptime.c Examining data/mlt-6.22.1/src/win32/win32.c FINAL RESULTS: data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:75:3: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, " \"", NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:76:3: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, name + 10, NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:77:3: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, "\"=\"", NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:78:3: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, mlt_properties_get_value( properties, i ), NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:79:3: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, "\"", NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:81:2: [5] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is high; the length parameter appears to be a constant, instead of computing the number of characters left. strncat(ndi_con_str, " />", NDI_CON_STR_MAX); data/mlt-6.22.1/src/framework/mlt_animation.c:721:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( ret + used, "%s%s=", time, s ); data/mlt-6.22.1/src/framework/mlt_animation.c:723:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( ret + used, "%d%s=", item.frame - in, s ); data/mlt-6.22.1/src/framework/mlt_animation.c:732:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( ret + used, "\"%s\"", value ); data/mlt-6.22.1/src/framework/mlt_animation.c:734:7: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( ret, value ); data/mlt-6.22.1/src/framework/mlt_consumer.c:589:8: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if ( system( mlt_properties_get( properties, "ante" ) ) == -1 ) data/mlt-6.22.1/src/framework/mlt_consumer.c:1689:7: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if (system( mlt_properties_get( properties, "post" ) ) == -1 ) data/mlt-6.22.1/src/framework/mlt_events.c:170:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "list:%s", id ); data/mlt-6.22.1/src/framework/mlt_events.c:200:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "list:%s", id ); data/mlt-6.22.1/src/framework/mlt_events.c:247:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "list:%s", id ); data/mlt-6.22.1/src/framework/mlt_factory.c:199:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( mlt_directory, exedir ); data/mlt-6.22.1/src/framework/mlt_factory.c:200:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( mlt_directory, PREFIX_DATA ); data/mlt-6.22.1/src/framework/mlt_factory.c:205:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( mlt_directory, exedir ); data/mlt-6.22.1/src/framework/mlt_factory.c:206:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( mlt_directory, PREFIX_LIB ); data/mlt-6.22.1/src/framework/mlt_factory.c:247:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( path, mlt_environment( "MLT_DATA" ) ); data/mlt-6.22.1/src/framework/mlt_factory.c:248:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( path, PRESETS_DIR ); data/mlt-6.22.1/src/framework/mlt_geometry.c:680:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( ret, temp ); data/mlt-6.22.1/src/framework/mlt_log.c:74:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf( stderr, fmt, vl ); data/mlt-6.22.1/src/framework/mlt_luma_map.c:366:11: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. while ( sscanf( line, " #%s", comment ) > 0 ) data/mlt-6.22.1/src/framework/mlt_luma_map.c:379:11: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. while ( sscanf( line, " #%s", comment ) > 0 ) data/mlt-6.22.1/src/framework/mlt_luma_map.c:396:12: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. while ( sscanf( line, " #%s", comment ) > 0 ) data/mlt-6.22.1/src/framework/mlt_luma_map.c:414:12: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. while ( sscanf( line, " #%s", comment ) > 0 ) data/mlt-6.22.1/src/framework/mlt_profile.c:61:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( filename, prefix ); data/mlt-6.22.1/src/framework/mlt_profile.c:62:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( filename, PROFILES_DIR ); data/mlt-6.22.1/src/framework/mlt_profile.c:68:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( filename, prefix ); data/mlt-6.22.1/src/framework/mlt_profile.c:79:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( filename, name ); data/mlt-6.22.1/src/framework/mlt_profile.c:367:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( filename, prefix ); data/mlt-6.22.1/src/framework/mlt_profile.c:368:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( filename, PROFILES_DIR ); data/mlt-6.22.1/src/framework/mlt_properties.c:224:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( temp2, last ); data/mlt-6.22.1/src/framework/mlt_properties.c:226:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( temp, temp2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:230:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( last, temp ); data/mlt-6.22.1/src/framework/mlt_properties.c:310:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( path, "%s/%s/%s/%s/%s", data, type, service, profile, name ); data/mlt-6.22.1/src/framework/mlt_properties.c:313:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( path, "%s/%s/%s/%s", data, type, service, name ); data/mlt-6.22.1/src/framework/mlt_properties.c:1796:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( value, old_value ); data/mlt-6.22.1/src/framework/mlt_properties.c:1799:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( value, name ); data/mlt-6.22.1/src/framework/mlt_properties.c:1814:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( value, old_value ); data/mlt-6.22.1/src/framework/mlt_properties.c:1821:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( value, old_value ); data/mlt-6.22.1/src/framework/mlt_properties.c:1824:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( value, name ); data/mlt-6.22.1/src/framework/mlt_properties.c:1978:14: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int need = vsnprintf( buffer->string + len, remain, format, ap ); data/mlt-6.22.1/src/framework/mlt_property.c:713:4: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( self->prop_string, "%"PRId64, self->prop_int64 ); data/mlt-6.22.1/src/framework/mlt_property.c:817:4: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( self->prop_string, "%"PRId64, self->prop_int64 ); data/mlt-6.22.1/src/framework/mlt_repository.c:92:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( newpath, exedir ); data/mlt-6.22.1/src/framework/mlt_repository.c:93:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( newpath, sep ); data/mlt-6.22.1/src/framework/mlt_repository.c:94:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( newpath, syspath ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:104:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( token, start ); data/mlt-6.22.1/src/melt/io.c:81:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( input, input + 1 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:878:6: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( path, AVDATADIR ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:879:6: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( path, codec->name ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:881:6: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( path, vpre ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2311:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( full, "%s/%s", cwd, file ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2316:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( full, "%s/%s", cwd, file ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2321:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( full, "%s/%s", cwd, file ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2335:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( full, "%s.mbtree", file ); data/mlt-6.22.1/src/modules/avformat/factory.c:191:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( s, opt->help ); data/mlt-6.22.1/src/modules/avformat/factory.c:193:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( s, subclass ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:597:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( s, width ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:599:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( s, height ); data/mlt-6.22.1/src/modules/core/filter_data_feed.c:111:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s.", name ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:53:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/feeds/%s/data_fx.properties", mlt_environment( "MLT_DATA" ), mlt_environment( "MLT_NORMALISATION" ) ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:55:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/feeds/%s/%s", mlt_environment( "MLT_DATA" ), mlt_environment( "MLT_NORMALISATION" ), strchr( profile, '%' ) + 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:95:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( meta, "meta.attr.%s.markup", name); data/mlt-6.22.1/src/modules/core/producer_loader.c:50:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( prefix_file, prefix ); data/mlt-6.22.1/src/modules/core/producer_loader.c:51:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( prefix_file, file ); data/mlt-6.22.1/src/modules/core/producer_loader.c:96:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/core/loader.dict", mlt_environment( "MLT_DATA" ) ); data/mlt-6.22.1/src/modules/core/producer_loader.c:193:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/core/loader.ini", mlt_environment( "MLT_DATA" ) ); data/mlt-6.22.1/src/modules/core/transition_composite.c:576:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/lumas/%s/%s", mlt_environment( "MLT_DATA" ), data/mlt-6.22.1/src/modules/core/transition_luma.c:378:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/lumas/%s/%s", mlt_environment( "MLT_DATA" ), mlt_profile_lumas_dir(profile), strchr( resource, '%' ) + 1 ); data/mlt-6.22.1/src/modules/core/transition_region.c:68:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( key, "%s.", name ); data/mlt-6.22.1/src/modules/core/transition_region.c:256:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( key, "%s.", name ); data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:964:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( key, format, i ); data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:828:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( key, format, i ); data/mlt-6.22.1/src/modules/frei0r/factory.c:62:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( dirname, mlt_environment( "MLT_APPDIR" ) ); data/mlt-6.22.1/src/modules/frei0r/factory.c:63:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( dirname, FREI0R_PLUGIN_PATH ); data/mlt-6.22.1/src/modules/frei0r/factory.c:67:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( dirname, mlt_environment( "MLT_APPDIR" ) ); data/mlt-6.22.1/src/modules/frei0r/factory.c:68:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( dirname, FREI0R_PLUGIN_PATH ); data/mlt-6.22.1/src/modules/frei0r/factory.c:380:4: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(soname, PATH_MAX, "%s/%s" LIBSUF, directory, firstname); data/mlt-6.22.1/src/modules/frei0r/factory.c:382:4: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(soname, PATH_MAX, "%s%s/%s" LIBSUF, getenv("HOME"), strchr(directory, '/'), firstname); data/mlt-6.22.1/src/modules/frei0r/factory.c:459:26: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). void* handle = dlopen(strcat(name, LIBSUF), RTLD_LAZY); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:272:8: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( markup, line ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:215:4: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf( full, 1023, filename, i ++ ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:256:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( s + ( start - filename ), ".%d%s", n, end ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:299:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( wildcard, "*%s", extension ); data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c:439:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( name, jack_client_name ); data/mlt-6.22.1/src/modules/jackrack/plugin.c:410:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf (port_name, "%s_%ld-%d_%c%ld", data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:191:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (file_name, dir); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:193:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (file_name + dirlen, dir_entry->d_name); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:197:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (file_name + dirlen + 1, dir_entry->d_name); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:225:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (ladspa_path, mlt_environment("MLT_APPDIR")); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:231:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (ladspa_path, mlt_environment ("MLT_APPDIR")); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2155:2: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "dev"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2176:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "buffers"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2185:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "bufsize"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2194:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "clock_source"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2203:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "mode"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2212:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "frame_mode"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2246:2: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "dev"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2264:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "buffers"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2274:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "bufsize"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2283:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "sample_size"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2305:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "sample_rate"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2327:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "channels"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2356:3: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(name, sizeof(name), fmt, type, num, "non_audio"); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2408:2: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(mystring, "%"PRIu64, i); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:81:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/oldfilm/", mlt_environment( "MLT_DATA" ) ); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:111:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( resource, "%s", mlt_properties_get_value(direntries,picnum) ); data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp:141:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/lumas/%s/%s", mlt_environment( "MLT_DATA" ), mlt_environment( "MLT_NORMALISATION" ), strchr( resource, '%' ) + 1 ); data/mlt-6.22.1/src/modules/plus/consumer_blipflash.c:327:4: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf( stats->out_file, MLT_POSITION_FMT "\t??\n", pos ); data/mlt-6.22.1/src/modules/plus/consumer_blipflash.c:333:4: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf( stats->out_file, MLT_POSITION_FMT "\t%02.02f\n", pos, ms_offset ); data/mlt-6.22.1/src/modules/plus/producer_count.c:256:4: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf( text, MAX_TEXT_LEN - 1, MLT_POSITION_FMT, info->position ); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:353:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ptr,entries[i]);ptr+=strlen(entries[i]); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:442:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ptr,names[i]);ptr+=strlen(names[i]); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:444:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ptr,entries[i]);ptr+=strlen(entries[i]); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:266:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( si_pid, si_name ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:281:6: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( si_time, si_name ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:620:3: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( key, MLT_POSITION_FMT, pos ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:628:4: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( key, MLT_POSITION_FMT, pos ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:982:4: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf( key, MLT_POSITION_FMT, pos - 1 ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:154:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( s + ( start - filename ), ".%d%s", n, end ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:197:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( wildcard, "*%s", extension ); data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp:487:8: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( tmp, line ); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:444:4: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(full, 1023, filename, i++); data/mlt-6.22.1/src/modules/qt/transition_vqm.cpp:176:4: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. s.sprintf( "Frame: %05d\nPSNR: %05.2f (Y) %05.2f (Cb) %05.2f (Cr)\nSSIM: %5.3f (Y) %5.3f (Cb) %5.3f (Cr)", data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:7160:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( name, "hw:%s,%d", cardname, subdevice ); data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:98:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( fullname, dir_name ); data/mlt-6.22.1/src/modules/sox/factory.c:85:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( name + 4, e->name ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:488:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( s, id + 4 ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:492:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( s, arg ); data/mlt-6.22.1/src/modules/vid.stab/common.c:208:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf( stderr, format, vl ); data/mlt-6.22.1/src/modules/videostab/stab/klt/error.c:50:3: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, args); data/mlt-6.22.1/src/modules/vmfx/filter_shape.c:161:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( temp, "%s/lumas/%s/%s", mlt_environment( "MLT_DATA" ), mlt_profile_lumas_dir(profile), strchr( resource, '%' ) + 1 ); data/mlt-6.22.1/src/modules/vorbis/producer_vorbis.c:59:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(meta->name, "meta.attr.%s.markup", str); data/mlt-6.22.1/src/modules/xine/xineutils.h:652:35: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((d), (s)); \ data/mlt-6.22.1/src/modules/xine/xineutils.h:722:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(env, "%s%c%s", name, '=', val); data/mlt-6.22.1/src/modules/xine/xineutils.h:892:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(fmt, ##args); \ data/mlt-6.22.1/src/modules/xine/xineutils.h:905:11: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(__VA_ARGS__); \ data/mlt-6.22.1/src/modules/xine/xineutils.h:926:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf( fmt, ##args ); \ data/mlt-6.22.1/src/modules/xine/xineutils.h:943:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf( __VA_ARGS__ ); \ data/mlt-6.22.1/src/modules/xml/consumer_xml.c:235:7: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( s, value + rootlen + 1 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:272:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( full_resource, root ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:274:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( full_resource, resource ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:278:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( full_resource, resource_orig ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:629:6: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( temp, service_name ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:631:6: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( temp, resource ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1489:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( new, s ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1490:4: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat( new, value ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1822:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( real, "%s/%s", cwd, root ); data/mlt-6.22.1/src/framework/mlt_animation.c:749:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char *e = getenv("MLT_ANIMATION_TIME_FORMAT"); data/mlt-6.22.1/src/framework/mlt_factory.c:141:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("LC_ALL")) data/mlt-6.22.1/src/framework/mlt_factory.c:142:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. locale = getenv("LC_ALL"); data/mlt-6.22.1/src/framework/mlt_factory.c:152:74: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set_or_default( global_properties, "MLT_NORMALISATION", getenv( "MLT_NORMALISATION" ), "PAL" ); data/mlt-6.22.1/src/framework/mlt_factory.c:153:69: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set_or_default( global_properties, "MLT_PRODUCER", getenv( "MLT_PRODUCER" ), "loader" ); data/mlt-6.22.1/src/framework/mlt_factory.c:154:69: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set_or_default( global_properties, "MLT_CONSUMER", getenv( "MLT_CONSUMER" ), "sdl2" ); data/mlt-6.22.1/src/framework/mlt_factory.c:155:59: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set( global_properties, "MLT_TEST_CARD", getenv( "MLT_TEST_CARD" ) ); data/mlt-6.22.1/src/framework/mlt_factory.c:156:68: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set_or_default( global_properties, "MLT_PROFILE", getenv( "MLT_PROFILE" ), "dv_pal" ); data/mlt-6.22.1/src/framework/mlt_factory.c:157:65: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. mlt_properties_set_or_default( global_properties, "MLT_DATA", getenv( "MLT_DATA" ), PREFIX_DATA ); data/mlt-6.22.1/src/framework/mlt_factory.c:186:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. directory = getenv( "MLT_REPOSITORY" ); data/mlt-6.22.1/src/framework/mlt_factory.c:196:31: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( global_properties && !getenv( "MLT_DATA" ) ) data/mlt-6.22.1/src/framework/mlt_factory.c:239:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *path = getenv( "MLT_PRESETS_PATH" ); data/mlt-6.22.1/src/framework/mlt_producer.c:99:14: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *e = getenv( "MLT_DEFAULT_PRODUCER_LENGTH" ); data/mlt-6.22.1/src/framework/mlt_profile.c:47:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char *prefix = getenv( "MLT_PROFILES_PATH" ); data/mlt-6.22.1/src/framework/mlt_profile.c:111:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv( "MLT_PROFILE" ) ) data/mlt-6.22.1/src/framework/mlt_profile.c:112:34: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. profile = mlt_profile_select( getenv( "MLT_PROFILE" ) ); data/mlt-6.22.1/src/framework/mlt_profile.c:114:13: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. else if ( getenv( "MLT_NORMALISATION" ) && strcmp( getenv( "MLT_NORMALISATION" ), "PAL" ) ) data/mlt-6.22.1/src/framework/mlt_profile.c:114:54: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. else if ( getenv( "MLT_NORMALISATION" ) && strcmp( getenv( "MLT_NORMALISATION" ), "PAL" ) ) data/mlt-6.22.1/src/framework/mlt_profile.c:355:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char *prefix = getenv( "MLT_PROFILES_PATH" ); data/mlt-6.22.1/src/framework/mlt_property.c:729:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. const char *e = getenv("MLT_ANIMATION_TIME_FORMAT"); data/mlt-6.22.1/src/framework/mlt_repository.c:82:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *syspath = getenv("PATH"); data/mlt-6.22.1/src/framework/mlt_repository.c:386:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *s = getenv( "LANGUAGE" ); data/mlt-6.22.1/src/framework/mlt_repository.c:389:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. s = getenv( "LC_ALL" ); data/mlt-6.22.1/src/framework/mlt_repository.c:392:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. s = getenv( "LC_MESSAGES" ); data/mlt-6.22.1/src/framework/mlt_repository.c:395:6: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. s = getenv( "LANG" ); data/mlt-6.22.1/src/framework/mlt_slices.c:151:14: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *env = getenv( ENV_SLICES ); data/mlt-6.22.1/src/melt/melt.c:915:7: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv( "MLT_PROFILE" ) ) data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:719:29: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( thread_count == 0 && getenv( "MLT_AVFORMAT_THREADS" ) ) data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:720:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:861:29: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( thread_count == 0 && getenv( "MLT_AVFORMAT_THREADS" ) ) data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:862:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/factory.c:101:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv("MLT_AVFORMAT_PRODUCER_CACHE") ) data/mlt-6.22.1/src/modules/avformat/factory.c:103:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int n = atoi( getenv("MLT_AVFORMAT_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:657:14: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. char *e = getenv( "MLT_DEFAULT_PRODUCER_LENGTH" ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:1468:17: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int sliced = !getenv("MLT_AVFORMAT_SLICED_PIXFMT_DISABLE"); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:1607:24: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int cache_supplied = getenv( "MLT_AVFORMAT_CACHE" ) != NULL; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:1608:42: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int cache_size = cache_supplied? atoi( getenv( "MLT_AVFORMAT_CACHE" ) ) : 0; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2112:29: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( thread_count == 0 && getenv( "MLT_AVFORMAT_THREADS" ) ) data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2113:25: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/vdpau.c:69:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. || ( getenv( "MLT_NO_VDPAU" ) && strcmp( getenv( "MLT_NO_VDPAU" ), "1" ) == 0 ) ) data/mlt-6.22.1/src/modules/avformat/vdpau.c:69:48: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. || ( getenv( "MLT_NO_VDPAU" ) && strcmp( getenv( "MLT_NO_VDPAU" ), "1" ) == 0 ) ) data/mlt-6.22.1/src/modules/frei0r/factory.c:47:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define GET_FREI0R_PATH (getenv("FREI0R_PATH") ? getenv("FREI0R_PATH") : getenv("MLT_FREI0R_PLUGIN_PATH") ? getenv("MLT_FREI0R_PLUGIN_PATH") : FREI0R_PLUGIN_PATH) data/mlt-6.22.1/src/modules/frei0r/factory.c:47:50: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define GET_FREI0R_PATH (getenv("FREI0R_PATH") ? getenv("FREI0R_PATH") : getenv("MLT_FREI0R_PLUGIN_PATH") ? getenv("MLT_FREI0R_PLUGIN_PATH") : FREI0R_PLUGIN_PATH) data/mlt-6.22.1/src/modules/frei0r/factory.c:47:74: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define GET_FREI0R_PATH (getenv("FREI0R_PATH") ? getenv("FREI0R_PATH") : getenv("MLT_FREI0R_PLUGIN_PATH") ? getenv("MLT_FREI0R_PLUGIN_PATH") : FREI0R_PLUGIN_PATH) data/mlt-6.22.1/src/modules/frei0r/factory.c:47:109: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define GET_FREI0R_PATH (getenv("FREI0R_PATH") ? getenv("FREI0R_PATH") : getenv("MLT_FREI0R_PLUGIN_PATH") ? getenv("MLT_FREI0R_PLUGIN_PATH") : FREI0R_PLUGIN_PATH) data/mlt-6.22.1/src/modules/frei0r/factory.c:382:49: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. snprintf(soname, PATH_MAX, "%s%s/%s" LIBSUF, getenv("HOME"), strchr(directory, '/'), firstname); data/mlt-6.22.1/src/modules/frei0r/factory.c:440:40: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. snprintf(dirname, PATH_MAX, "%s%s", getenv("HOME"), strchr(directory, '/')); data/mlt-6.22.1/src/modules/gdk/factory.c:44:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv("MLT_PIXBUF_PRODUCER_CACHE") ) data/mlt-6.22.1/src/modules/gdk/factory.c:46:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int n = atoi( getenv("MLT_PIXBUF_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/gdk/factory.c:51:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv("MLT_PANGO_PRODUCER_CACHE") ) data/mlt-6.22.1/src/modules/gdk/factory.c:53:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. int n = atoi( getenv("MLT_PANGO_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:220:27: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. ladspa_path = g_strdup (getenv ("LADSPA_PATH")); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:90:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand( position * 10000 ); data/mlt-6.22.1/src/modules/oldfilm/filter_grain.c:43:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(position*10000); data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c:60:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(position*10000); data/mlt-6.22.1/src/modules/oldfilm/filter_oldfilm.c:67:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand( position * 10000); data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp:246:33: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. std::string path = std::string(getenv("MLT_MOVIT_PATH") ? getenv("MLT_MOVIT_PATH") : SHADERDIR); data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp:246:60: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. std::string path = std::string(getenv("MLT_MOVIT_PATH") ? getenv("MLT_MOVIT_PATH") : SHADERDIR); data/mlt-6.22.1/src/modules/qt/common.cpp:37:7: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv("DISPLAY") == 0) { data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:58:31: [3] (misc) InitializeCriticalSection: Exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. #define MUTEX_INITIALIZE(A) InitializeCriticalSection(A) data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:60:31: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. #define MUTEX_LOCK(A) EnterCriticalSection(A) data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:4713:21: [3] (misc) LoadLibrary: Ensure that the full path to the library is specified, or current directory may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to find library path, if you aren't already. HMODULE AvrtDll = LoadLibrary( (LPCTSTR) "AVRT.dll" ); data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:857:34: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( rtaudio->open( arg? arg : getenv( "AUDIODEV" ) ) ) data/mlt-6.22.1/src/modules/videostab/stab/main.c:69:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((i = getopt(argc, argv, "r:q:")) != -1) { data/mlt-6.22.1/src/modules/xine/cpu_accel.c:224:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if(getenv("XINE_NO_ACCEL")) { data/mlt-6.22.1/src/modules/xml/producer_xml.c:2000:8: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ( getenv( "MLT_XML_DEEP" ) == NULL ) data/mlt-6.22.1/src/win32/win32.c:62:24: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (overwrite == 0 && getenv (name)) { data/mlt-6.22.1/src/win32/win32.c:185:13: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (((ev = getenv ("LC_ALL")) != NULL && ev[0] != '\0') data/mlt-6.22.1/src/win32/win32.c:186:13: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. || ((ev = getenv ("LC_MESSAGES")) != NULL && ev[0] != '\0') data/mlt-6.22.1/src/win32/win32.c:187:13: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. || ((ev = getenv ("LANG")) != NULL && ev[0] != '\0')) data/mlt-6.22.1/src/framework/mlt_cache.c:123:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[19]; data/mlt-6.22.1/src/framework/mlt_cache.c:133:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", object ); data/mlt-6.22.1/src/framework/mlt_cache.c:153:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", data ); data/mlt-6.22.1/src/framework/mlt_cache.c:393:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[19]; data/mlt-6.22.1/src/framework/mlt_cache.c:394:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", object ); data/mlt-6.22.1/src/framework/mlt_cache.c:413:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", orphan->data ); data/mlt-6.22.1/src/framework/mlt_cache.c:454:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[19]; data/mlt-6.22.1/src/framework/mlt_cache.c:455:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", *hit ); data/mlt-6.22.1/src/framework/mlt_consumer.c:230:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( profile, new_profile, sizeof( struct mlt_profile_s ) ); data/mlt-6.22.1/src/framework/mlt_events.c:168:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 128 ]; data/mlt-6.22.1/src/framework/mlt_events.c:198:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 128 ]; data/mlt-6.22.1/src/framework/mlt_events.c:246:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 128 ]; data/mlt-6.22.1/src/framework/mlt_events.c:275:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "%d", first_null == -1 ? mlt_properties_count( listeners ) : first_null ); data/mlt-6.22.1/src/framework/mlt_factory.c:85:28: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. listener( owner, self, ( char * )args[ 0 ], ( char * )args[ 1 ], ( mlt_service * )args[ 2 ] ); data/mlt-6.22.1/src/framework/mlt_factory.c:85:49: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. listener( owner, self, ( char * )args[ 0 ], ( char * )args[ 1 ], ( mlt_service * )args[ 2 ] ); data/mlt-6.22.1/src/framework/mlt_factory.c:99:28: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. listener( owner, self, ( char * )args[ 0 ], ( char * )args[ 1 ], ( mlt_service )args[ 2 ] ); data/mlt-6.22.1/src/framework/mlt_factory.c:99:49: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. listener( owner, self, ( char * )args[ 0 ], ( char * )args[ 1 ], ( mlt_service )args[ 2 ] ); data/mlt-6.22.1/src/framework/mlt_factory.c:160:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[1024]; data/mlt-6.22.1/src/framework/mlt_factory.c:171:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[1024]; data/mlt-6.22.1/src/framework/mlt_factory.c:485:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unique[ 256 ]; data/mlt-6.22.1/src/framework/mlt_factory.c:486:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( unique, "%08d", mlt_properties_count( global_properties ) ); data/mlt-6.22.1/src/framework/mlt_filter.c:257:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/framework/mlt_filter.c:304:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/framework/mlt_frame.c:951:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char filename[16]; data/mlt-6.22.1/src/framework/mlt_frame.c:953:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( filename, "frame-%05d.ppm", (int)mlt_frame_get_position( frame ) ); data/mlt-6.22.1/src/framework/mlt_frame.c:1053:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( copy, data, size ); data/mlt-6.22.1/src/framework/mlt_frame.c:1066:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( copy, data, size ); data/mlt-6.22.1/src/framework/mlt_frame.c:1075:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( copy, data, size ); data/mlt-6.22.1/src/framework/mlt_frame.c:1113:99: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. int mlt_image_format_planes( mlt_image_format format, int width, int height, void* data, unsigned char *planes[4], int strides[4]) data/mlt-6.22.1/src/framework/mlt_frame.h:151:106: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern int mlt_image_format_planes( mlt_image_format format, int width, int height, void* data, unsigned char *planes[4], int strides[4]); data/mlt-6.22.1/src/framework/mlt_geometry.c:424:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( item, &key->data, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:429:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( item, &key->data, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:472:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &gi->data, item, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:505:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &place->data, &gi->data, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:559:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( item, &place->data, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:577:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( item, &place->data, sizeof( struct mlt_geometry_item_s ) ); data/mlt-6.22.1/src/framework/mlt_geometry.c:597:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 100 ]; data/mlt-6.22.1/src/framework/mlt_geometry.c:645:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "%d=", item.frame - in ); data/mlt-6.22.1/src/framework/mlt_geometry.c:648:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp + strlen( temp ), "%g", item.x ); data/mlt-6.22.1/src/framework/mlt_geometry.c:651:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp + strlen( temp ), "%g", item.y ); data/mlt-6.22.1/src/framework/mlt_geometry.c:655:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp + strlen( temp ), "%g", item.w ); data/mlt-6.22.1/src/framework/mlt_geometry.c:659:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp + strlen( temp ), "%g", item.h ); data/mlt-6.22.1/src/framework/mlt_geometry.c:663:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp + strlen( temp ), "%g", item.mix ); data/mlt-6.22.1/src/framework/mlt_log.c:46:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[32]; data/mlt-6.22.1/src/framework/mlt_luma_map.c:352:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[128]; data/mlt-6.22.1/src/framework/mlt_luma_map.c:353:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char comment[128]; data/mlt-6.22.1/src/framework/mlt_pool.c:275:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[ 32 ]; data/mlt-6.22.1/src/framework/mlt_pool.c:281:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "%d", i ); data/mlt-6.22.1/src/framework/mlt_pool.c:339:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( result, ptr, that->pool->size - sizeof( struct mlt_release_s ) ); data/mlt-6.22.1/src/framework/mlt_producer.c:100:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int p = e ? atoi( e ) : 15000; data/mlt-6.22.1/src/framework/mlt_producer.c:680:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 25 ]; data/mlt-6.22.1/src/framework/mlt_producer.c:681:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "_clone.%d", clone_index - 1 ); data/mlt-6.22.1/src/framework/mlt_producer.c:823:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 25 ]; data/mlt-6.22.1/src/framework/mlt_producer.c:833:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "_clone.%d", i ); data/mlt-6.22.1/src/framework/mlt_producer.c:841:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "_clone.%d", i ); data/mlt-6.22.1/src/framework/mlt_producer.c:851:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "_clone.%d", i ); data/mlt-6.22.1/src/framework/mlt_producer.c:940:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 50 ]; data/mlt-6.22.1/src/framework/mlt_producer.c:943:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%p", parent ); data/mlt-6.22.1/src/framework/mlt_producer.c:949:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( refs, old_refs, ref_count * sizeof( clip_references ) ); data/mlt-6.22.1/src/framework/mlt_profile.c:335:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( clone, profile, sizeof( *profile ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:209:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 1024 ]; data/mlt-6.22.1/src/framework/mlt_properties.c:210:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char last[ 1024 ] = ""; data/mlt-6.22.1/src/framework/mlt_properties.c:223:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp2[ 1024 ]; data/mlt-6.22.1/src/framework/mlt_properties.c:663:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[255]; data/mlt-6.22.1/src/framework/mlt_properties.c:725:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 255 ]; data/mlt-6.22.1/src/framework/mlt_properties.c:1434:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 20 ]; data/mlt-6.22.1/src/framework/mlt_properties.c:1436:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fullname[ 1024 ]; data/mlt-6.22.1/src/framework/mlt_properties.c:1439:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", mlt_properties_count( self ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:1694:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/framework/mlt_properties.c:1744:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/framework/mlt_properties.c:1872:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 1024 ]; data/mlt-6.22.1/src/framework/mlt_property.c:339:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). minutes = atoi( pos + 1 ); data/mlt-6.22.1/src/framework/mlt_property.c:341:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hours = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:344:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). minutes = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:389:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). frames = atoi( pos + 1 ); data/mlt-6.22.1/src/framework/mlt_property.c:393:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). seconds = atoi( pos + 1 ); data/mlt-6.22.1/src/framework/mlt_property.c:397:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). minutes = atoi( pos + 1 ); data/mlt-6.22.1/src/framework/mlt_property.c:399:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). hours = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:402:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). minutes = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:406:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). seconds = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:410:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). frames = atoi( s ); data/mlt-6.22.1/src/framework/mlt_property.c:695:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%d", self->prop_int ); data/mlt-6.22.1/src/framework/mlt_property.c:701:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%g", self->prop_double ); data/mlt-6.22.1/src/framework/mlt_property.c:707:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%d", (int)self->prop_position ); data/mlt-6.22.1/src/framework/mlt_property.c:799:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%d", self->prop_int ); data/mlt-6.22.1/src/framework/mlt_property.c:805:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%g", self->prop_double ); data/mlt-6.22.1/src/framework/mlt_property.c:811:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( self->prop_string, "%d", (int)self->prop_position ); data/mlt-6.22.1/src/framework/mlt_property.c:928:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->data, that->data, self->length ); data/mlt-6.22.1/src/framework/mlt_property.c:995:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( s, "%02d:%02d:%02d%c%0*d", hours, mins, secs, frame_sep, data/mlt-6.22.1/src/framework/mlt_property.c:1018:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( s, "%02d:%02d:%06.3f", hours, mins, secs ); data/mlt-6.22.1/src/framework/mlt_property.c:1589:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( result + strlen( result ), "%g", rect->x ); data/mlt-6.22.1/src/framework/mlt_property.c:1591:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( result + strlen( result ), " %g", rect->y ); data/mlt-6.22.1/src/framework/mlt_property.c:1593:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( result + strlen( result ), " %g", rect->w ); data/mlt-6.22.1/src/framework/mlt_property.c:1595:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( result + strlen( result ), " %g", rect->h ); data/mlt-6.22.1/src/framework/mlt_property.c:1597:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( result + strlen( result ), " %g", rect->o ); data/mlt-6.22.1/src/framework/mlt_property.c:1616:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->data, &value, self->length ); data/mlt-6.22.1/src/framework/mlt_repository.c:91:2: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( newpath, "PATH=" ); // len=5 data/mlt-6.22.1/src/framework/mlt_repository.c:435:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[21]; data/mlt-6.22.1/src/framework/mlt_repository.c:462:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fullname[ PATH_MAX ]; data/mlt-6.22.1/src/framework/mlt_repository.c:475:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sub[ PATH_MAX ]; data/mlt-6.22.1/src/framework/mlt_service.c:124:28: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. listener( owner, self, ( char * )args[ 0 ] ); data/mlt-6.22.1/src/framework/mlt_slices.c:163:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int i, env_val = env ? atoi(env) : 0; data/mlt-6.22.1/src/framework/mlt_tractor.c:485:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char label[64]; data/mlt-6.22.1/src/framework/mlt_types.h:252:19: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). #define mlt_fopen fopen data/mlt-6.22.1/src/melt/io.c:89:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 132 ]; data/mlt-6.22.1/src/melt/io.c:94:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). *output = atoi( temp ); data/mlt-6.22.1/src/melt/melt.c:310:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/melt/melt.c:379:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyboard[ 2 ] = { event.key.keysym.sym, 0 }; data/mlt-6.22.1/src/melt/melt.c:399:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyboard[ 2 ] = { event.key.keysym.unicode, 0 }; data/mlt-6.22.1/src/melt/melt.c:450:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[ 2 ] = { value, 0 }; data/mlt-6.22.1/src/melt/melt.c:774:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). store = fopen( name, "w" ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:101:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &fifo->buffer[ fifo->used ], samples, count ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:115:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( samples, fifo->buffer, count ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:144:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffersrc_args[256]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:424:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:445:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:471:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:684:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( p, q, bytes_per_sample ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:720:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:862:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:882:6: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( path, ".ffpreset" ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1045:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char logfilename[1024]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1244:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[27]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1333:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "channels.%d", i ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1349:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d.channels", k ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1351:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d.start", k ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1376:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, src, ctx->sample_bytes ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1538:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[27]; data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:1689:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "channels.%d", i ); data/mlt-6.22.1/src/modules/avformat/factory.c:103:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int n = atoi( getenv("MLT_AVFORMAT_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/avformat/factory.c:162:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/factory.c:170:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/factory.c:178:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[200]; data/mlt-6.22.1/src/modules/avformat/factory.c:192:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( s, " (" ); data/mlt-6.22.1/src/modules/avformat/factory.c:290:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/avformat/factory.c:384:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/factory.c:395:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/avformat/factory.c:436:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dirname[PATH_MAX]; data/mlt-6.22.1/src/modules/avformat/factory.c:458:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char service_name[1024]="avfilter."; data/mlt-6.22.1/src/modules/avformat/filter_avcolour_space.c:39:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. union { int i; char c[ 4 ]; } big_endian_test; data/mlt-6.22.1/src/modules/avformat/filter_avdeinterlace.c:191:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst,src_m1,width); data/mlt-6.22.1/src/modules/avformat/filter_avdeinterlace.c:201:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst,src_m1,width); data/mlt-6.22.1/src/modules/avformat/filter_avdeinterlace.c:216:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf,src_m1,width); data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:158:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char channel_layout_str[64]; data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:613:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( pdata->avinframe->extended_data[i], data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:620:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( pdata->avinframe->extended_data[0], data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:651:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (uint8_t*)*buffer + stride * i, data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:658:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (uint8_t*)*buffer, data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:750:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, widths[p] ); data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:764:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, stride ); data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:801:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, widths[p] ); data/mlt-6.22.1/src/modules/avformat/filter_avfilter.c:815:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, stride ); data/mlt-6.22.1/src/modules/avformat/mmx.h:21:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char b[8]; /* 8 Byte (8-bit) values */ data/mlt-6.22.1/src/modules/avformat/mmx.h:22:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char ub[8]; /* 8 Unsigned Byte */ data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:367:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[200]; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:658:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int p = e ? atoi( e ) : 15000; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:731:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffersrc_args[256]; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:1382:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, FFMIN( width, frame->linesize[3] ) ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:1608:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int cache_size = cache_supplied? atoi( getenv( "MLT_AVFORMAT_CACHE" ) ) : 0; data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2113:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thread_count = atoi( getenv( "MLT_AVFORMAT_THREADS" ) ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2442:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, &src->data[c][s * bytes_per_sample], bytes_per_sample ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2514:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, self->audio_frame->data[0], data_size ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2783:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, src, current_channels * sizeof_sample ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:2808:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *buffer, src, size * *channels * sizeof_sample ); data/mlt-6.22.1/src/modules/core/composite_line_yuv_sse2_simple.c:260:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, src, 2 * width); data/mlt-6.22.1/src/modules/core/composite_line_yuv_sse2_simple.c:266:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, src, 2 * width); data/mlt-6.22.1/src/modules/core/consumer_multi.c:122:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 1024 ]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:179:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:214:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:298:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:319:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:334:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:349:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:381:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_buffer, prev_buffer, prev_size ); data/mlt-6.22.1/src/modules/core/consumer_multi.c:382:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_buffer + prev_size, buffer, current_size ); data/mlt-6.22.1/src/modules/core/consumer_multi.c:401:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( prev_buffer, buffer, nested_size ); data/mlt-6.22.1/src/modules/core/consumer_multi.c:434:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( prev_buffer, buffer, current_size ); data/mlt-6.22.1/src/modules/core/consumer_multi.c:452:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/consumer_multi.c:553:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[30]; data/mlt-6.22.1/src/modules/core/factory.c:68:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/core/filter_audiochannels.c:87:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( p, *buffer, size_avail ); data/mlt-6.22.1/src/modules/core/filter_audiochannels.c:94:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( p, *buffer, size_avail ); data/mlt-6.22.1/src/modules/core/filter_audiochannels.c:230:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_buffer, *buffer, size ); data/mlt-6.22.1/src/modules/core/filter_audiomap.c:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char prop_name[32], *prop_val; data/mlt-6.22.1/src/modules/core/filter_audiomap.c:56:8: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). j = atoi( prop_val ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:94:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( x, t, *samples * sizeof(int32_t) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:95:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( t, f, *samples * sizeof(int32_t) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:96:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( f, x, *samples * sizeof(int32_t) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:101:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( t, f, *samples * sizeof(int32_t) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:133:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( x, t, *samples * sizeof(float) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:134:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( t, f, *samples * sizeof(float) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:135:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( f, x, *samples * sizeof(float) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:140:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( t, f, *samples * sizeof(float) ); data/mlt-6.22.1/src/modules/core/filter_channelcopy.c:174:67: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mlt_properties_set_int( MLT_FILTER_PROPERTIES( filter ), "to", atoi( arg ) ); data/mlt-6.22.1/src/modules/core/filter_crop.c:39:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, src, dest_stride ); data/mlt-6.22.1/src/modules/core/filter_crop.c:225:71: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mlt_properties_set_int( MLT_FILTER_PROPERTIES( filter ), "active", atoi( arg ) ); data/mlt-6.22.1/src/modules/core/filter_data_feed.c:96:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 132 ]; data/mlt-6.22.1/src/modules/core/filter_data_show.c:46:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 512 ]; data/mlt-6.22.1/src/modules/core/filter_data_show.c:114:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(res, "%.2d:%.2d:%.2d:%.2d", hours, minutes, seconds, frames); data/mlt-6.22.1/src/modules/core/filter_data_show.c:186:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char result[512] = ""; // XXX: how much is enough? data/mlt-6.22.1/src/modules/core/filter_data_show.c:220:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[12]; data/mlt-6.22.1/src/modules/core/filter_fieldorder.c:66:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_image, src + stride * !(i % 2), stride ); data/mlt-6.22.1/src/modules/core/filter_fieldorder.c:100:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_planes[p], old_planes[p], strides[p] ); data/mlt-6.22.1/src/modules/core/filter_fieldorder.c:101:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_planes[p] + strides[p], old_planes[p], strides[p] * ( *height - 1 ) ); data/mlt-6.22.1/src/modules/core/filter_luma.c:107:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, size ); data/mlt-6.22.1/src/modules/core/filter_mono.c:170:73: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mlt_properties_set_int( MLT_FILTER_PROPERTIES( filter ), "channels", atoi( arg ) ); data/mlt-6.22.1/src/modules/core/filter_panner.c:78:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( src, *buffer, *samples * *channels * sizeof(*src) ); data/mlt-6.22.1/src/modules/core/filter_panner.c:277:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char label[64]; data/mlt-6.22.1/src/modules/core/filter_resize.c:52:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( out_line, input, iused ); data/mlt-6.22.1/src/modules/core/filter_resize.c:84:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( output, input, iheight * istride ); data/mlt-6.22.1/src/modules/core/filter_resize.c:119:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( out_line, in_line, istride ); data/mlt-6.22.1/src/modules/core/filter_watermark.c:185:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 132 ]; data/mlt-6.22.1/src/modules/core/filter_watermark.c:205:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( temp, "_b_frame" ); data/mlt-6.22.1/src/modules/core/filter_watermark.c:207:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "_b_frame%d", count ++ ); data/mlt-6.22.1/src/modules/core/producer_colour.c:214:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *buffer, image, size ); data/mlt-6.22.1/src/modules/core/producer_consumer.c:58:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_image, *image, size ); data/mlt-6.22.1/src/modules/core/producer_consumer.c:67:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_image, alpha, size ); data/mlt-6.22.1/src/modules/core/producer_consumer.c:94:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_buffer, *buffer, size ); data/mlt-6.22.1/src/modules/core/producer_hold.c:117:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image, *buffer, size ); data/mlt-6.22.1/src/modules/core/producer_loader.c:95:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 1024 ]; data/mlt-6.22.1/src/modules/core/producer_loader.c:192:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 1024 ]; data/mlt-6.22.1/src/modules/core/producer_melt.c:36:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ MELT_FILE_MAX_LENGTH ]; data/mlt-6.22.1/src/modules/core/producer_melt.c:232:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int repeat = atoi( argv[ ++ i ] ); data/mlt-6.22.1/src/modules/core/producer_melt.c:247:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int split = atoi( argv[ ++ i ] ); data/mlt-6.22.1/src/modules/core/producer_melt.c:278:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int clips = atoi( argv[ ++ i ] ); data/mlt-6.22.1/src/modules/core/producer_melt.c:311:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int length = atoi( argv[ ++ i ] ); data/mlt-6.22.1/src/modules/core/transition_composite.c:57:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ret = atoi( align ); data/mlt-6.22.1/src/modules/core/transition_composite.c:145:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). item.frame = atoi( name + 4 ); data/mlt-6.22.1/src/modules/core/transition_composite.c:566:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 512 ]; data/mlt-6.22.1/src/modules/core/transition_composite.c:580:4: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(temp, ".png"); data/mlt-6.22.1/src/modules/core/transition_composite.c:919:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_composite.c:982:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_composite.c:1069:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, p, w * 2 ); data/mlt-6.22.1/src/modules/core/transition_luma.c:371:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 512 ]; data/mlt-6.22.1/src/modules/core/transition_luma.c:381:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(temp, ".png"); data/mlt-6.22.1/src/modules/core/transition_mix.c:212:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->src_buffer[self->src_buffer_count * channels_b], buffer_b, bytes ); data/mlt-6.22.1/src/modules/core/transition_mix.c:233:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->dest_buffer[self->dest_buffer_count * channels_a], buffer_a, bytes ); data/mlt-6.22.1/src/modules/core/transition_mix.c:277:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *buffer, buffer_a, bytes ); data/mlt-6.22.1/src/modules/core/transition_region.c:59:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_region.c:62:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_region.c:65:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_filter_%d", count ); data/mlt-6.22.1/src/modules/core/transition_region.c:131:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha_duplicate, alpha, size ); data/mlt-6.22.1/src/modules/core/transition_region.c:251:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_region.c:252:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_region.c:255:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_filter_%d", count ); data/mlt-6.22.1/src/modules/core/transition_region.c:283:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 256 ]; data/mlt-6.22.1/src/modules/core/transition_region.c:295:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/core/transition_region.c:307:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/core/transition_region.c:321:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_filter_%d", ++ i ); data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:241:27: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). r = d->m_op_res = d->open( d->m_op_arg ); data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:273:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool open( unsigned card = 0 ) data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:552:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char *arg[3] = { image, m_buffer }; data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:594:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, m_buffer, stride * height ); data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:991:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ( decklink->op( OP_OPEN, arg? atoi(arg) : 0 ) ) data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:1016:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:102:59: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static void fill_line( mlt_image_format out_fmt, unsigned char *in[4], int strides[4], int pattern ) data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:191:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool open( unsigned card = 0 ) data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:625:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( pcm, buffer, size ); data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:753:13: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). decklink->open( mlt_properties_get_int( MLT_PRODUCER_PROPERTIES(producer), "resource" ) ); data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:862:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( decklink->open( atoi( resource ) ) ) data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:862:24: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if ( decklink->open( atoi( resource ) ) ) data/mlt-6.22.1/src/modules/decklink/win/DeckLinkAPI_i.cpp:55:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char c[8]; data/mlt-6.22.1/src/modules/dv/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/dv/producer_libdv.c:79:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char label[ 256 ]; data/mlt-6.22.1/src/modules/dv/producer_libdv.c:89:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( label, "%p", this ); data/mlt-6.22.1/src/modules/dv/producer_libdv.c:176:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). this->fd = open( filename, O_RDONLY ); data/mlt-6.22.1/src/modules/frei0r/factory.c:77:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dirname[PATH_MAX]; data/mlt-6.22.1/src/modules/frei0r/factory.c:98:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/frei0r/factory.c:99:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char servicetype[ 1024 ] = ""; data/mlt-6.22.1/src/modules/frei0r/factory.c:104:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(servicetype, "producer"); data/mlt-6.22.1/src/modules/frei0r/factory.c:107:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(servicetype, "filter"); data/mlt-6.22.1/src/modules/frei0r/factory.c:110:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(servicetype, "transition"); data/mlt-6.22.1/src/modules/frei0r/factory.c:140:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[48]; data/mlt-6.22.1/src/modules/frei0r/factory.c:209:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char colorstr[8]; data/mlt-6.22.1/src/modules/frei0r/factory.c:214:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(colorstr, "#%02x%02x%02x", (unsigned) CLAMP(deflt.r * 255, 0 , 255), data/mlt-6.22.1/src/modules/frei0r/factory.c:266:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char minor[12]; data/mlt-6.22.1/src/modules/frei0r/factory.c:363:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char soname[PATH_MAX]; data/mlt-6.22.1/src/modules/frei0r/factory.c:402:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/frei0r/factory.c:417:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dirname[PATH_MAX]; data/mlt-6.22.1/src/modules/frei0r/factory.c:452:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pluginname[1024] = "frei0r."; data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c:117:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ctorname[1024] = ""; data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c:119:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(ctorname, "ctor-%dx%d", *width, slice_height); data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c:122:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(ctorname, "ctor-%dx%d-%lu", *width, slice_height, GetCurrentThreadId()); data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c:124:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(ctorname, "ctor-%dx%d-%p", *width, slice_height, (void*) pthread_self()); data/mlt-6.22.1/src/modules/frei0r/frei0r_helper.c:146:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char index[20]; data/mlt-6.22.1/src/modules/gdk/factory.c:46:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int n = atoi( getenv("MLT_PIXBUF_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/gdk/factory.c:53:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int n = atoi( getenv("MLT_PANGO_PRODUCER_CACHE" ) ); data/mlt-6.22.1/src/modules/gdk/factory.c:83:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/gdk/filter_rescale.c:96:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, dst_stride ); data/mlt-6.22.1/src/modules/gdk/filter_rescale.c:103:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( output, gdk_pixbuf_get_pixels( scaled ), owidth * oheight * bpp ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:140:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ret = atoi( align ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:246:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). item.frame = atoi( name ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:260:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[81]; data/mlt-6.22.1/src/modules/gdk/producer_pango.c:433:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 20 ]; data/mlt-6.22.1/src/modules/gdk/producer_pango.c:435:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "%d", item.frame ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:635:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, dst_stride ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:642:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buf, gdk_pixbuf_get_pixels( self->pixbuf ), src_stride * self->height ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:655:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( cached->image, buf, size ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:661:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( cached->alpha, buf, size ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:670:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buf, cached->image, size ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:681:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buf, cached->alpha, size ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:170:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fullname[ 1024 ] = "/tmp/mlt.XXXXXX"; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:208:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char full[1024]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:210:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 50 ]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:218:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", keyvalue ++ ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:294:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char wildcard[ 1024 ]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:316:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *csv = fopen( filename, "r" ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:325:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[ 1024 ]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:338:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[ 1024 ]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:346:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 50 ]; data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:364:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", keyvalue++ ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:620:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst, src, dst_stride ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:627:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->image, gdk_pixbuf_get_pixels( pixbuf ), src_stride * height ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:650:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->image, buffer, mlt_image_format_size( self->format, self->width, self->height - 1, NULL ) ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:656:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->alpha, buffer, width * height ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:723:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, self->image, data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:735:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, self->alpha, self->width * self->height ); data/mlt-6.22.1/src/modules/gtk2/consumer_gtk2.c:44:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char windowhack[ 32 ]; data/mlt-6.22.1/src/modules/gtk2/consumer_gtk2.c:45:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( windowhack, "%ld", (long) xwin ); data/mlt-6.22.1/src/modules/gtk2/factory.c:53:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/jackrack/consumer_jack.c:81:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[14]; data/mlt-6.22.1/src/modules/jackrack/consumer_jack.c:253:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mlt_name[20], con_name[30]; data/mlt-6.22.1/src/modules/jackrack/factory.c:90:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/jackrack/factory.c:113:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/jackrack/factory.c:192:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( s, "ladspa.%lu", desc->id ); data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c:122:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mlt_name[67], rack_name[30]; data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c:265:46: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. jack_ringbuffer_read( output_buffers[i], ( char * )jack_output_buffers[i], ring_size < jack_size ? ring_size : jack_size ); data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c:286:47: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. jack_ringbuffer_write( input_buffers[i], ( char * )jack_input_buffers[i], ring_size < jack_size ? ring_size : jack_size ); data/mlt-6.22.1/src/modules/jackrack/filter_jackrack.c:418:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[61]; data/mlt-6.22.1/src/modules/jackrack/filter_ladspa.c:156:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_buffer, *buffer, old_size ); data/mlt-6.22.1/src/modules/jackrack/filter_ladspa.c:166:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/jackrack/filter_ladspa.c:206:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/jackrack/lock_free_fifo.c:76:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (data, ((char *)lff->data) + (lff->read_index * lff->object_size), data/mlt-6.22.1/src/modules/jackrack/lock_free_fifo.c:103:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (((char *)lff->data) + (lff->write_index * lff->object_size), data/mlt-6.22.1/src/modules/jackrack/plugin.c:375:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char port_name[64]; data/mlt-6.22.1/src/modules/jackrack/plugin_desc.c:306:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pd->port_descriptors, port_descriptors, sizeof (LADSPA_PortDescriptor) * port_count); data/mlt-6.22.1/src/modules/jackrack/plugin_desc.c:307:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (pd->port_range_hints, port_range_hints, sizeof (LADSPA_PortRangeHint) * port_count); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:226:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat (ladspa_path, "\\lib\\ladspa"); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:232:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat (ladspa_path, "/PlugIns/ladspa" ); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:260:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dirname[PATH_MAX]; data/mlt-6.22.1/src/modules/jackrack/process.c:237:15: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (jack_port_get_buffer (plugin->holders[copy].aux_ports[channel], frames), data/mlt-6.22.1/src/modules/jackrack/process.c:249:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (procinfo->jack_output_buffers[channel], data/mlt-6.22.1/src/modules/jackrack/process.c:285:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (plugin->audio_output_memory[i], data/mlt-6.22.1/src/modules/jackrack/process.c:293:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (procinfo->jack_output_buffers[i], data/mlt-6.22.1/src/modules/jackrack/producer_ladspa.c:107:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/jackrack/producer_ladspa.c:146:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/kdenlive/factory.c:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/kdenlive/filter_freeze.c:82:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, buffer, size ); data/mlt-6.22.1/src/modules/kdenlive/filter_freeze.c:91:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha_copy, alpha_buffer, alphasize ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:120:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, output, size ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:122:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha_copy, output_alpha, alphasize ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:171:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( output, first_image, size ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:184:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( output_alpha, first_alpha, alphasize ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:192:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, first_image, size ); data/mlt-6.22.1/src/modules/kdenlive/producer_framebuffer.c:194:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha_copy, first_alpha, alphasize ); data/mlt-6.22.1/src/modules/kino/avi.cc:1537:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char soundbuf[ 20000 ]; data/mlt-6.22.1/src/modules/kino/avi.h:129:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummy[ 1040 ]; data/mlt-6.22.1/src/modules/kino/filehandler.cc:361:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( filename.c_str(), O_CREAT | O_TRUNC | O_RDWR | O_NONBLOCK, 0644 ); data/mlt-6.22.1/src/modules/kino/filehandler.cc:405:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char data[ 4 ]; data/mlt-6.22.1/src/modules/kino/filehandler.cc:407:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( s, O_RDONLY | O_NONBLOCK ); data/mlt-6.22.1/src/modules/kino/filehandler.cc:752:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( open( filename.c_str(), O_CREAT | O_TRUNC | O_RDWR | O_NONBLOCK, 0644 ) != -1 ) data/mlt-6.22.1/src/modules/kino/riff.cc:138:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( s, O_RDWR | O_NONBLOCK | O_CREAT | O_TRUNC, 00644 ); data/mlt-6.22.1/src/modules/kino/riff.cc:154:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( s, O_RDONLY | O_NONBLOCK ); data/mlt-6.22.1/src/modules/linsys/consumer_SDIstream.c:476:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[27]; data/mlt-6.22.1/src/modules/linsys/consumer_SDIstream.c:479:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(key, "meta.map.audio.%d.channels", i); data/mlt-6.22.1/src/modules/linsys/consumer_SDIstream.c:481:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(key, "meta.map.audio.%d.start", i); data/mlt-6.22.1/src/modules/linsys/consumer_SDIstream.c:584:18: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *outfile = fopen(filename, "wb"); data/mlt-6.22.1/src/modules/linsys/factory.c:13:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:397:23: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fh_sdi_video = open(device_file_video, O_WRONLY)) == -1) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:445:24: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fh_sdi_audio = open(device_file_audio, O_WRONLY)) == -1) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2126:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char type, name[256], data[256]; data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2230:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char type, name[256], data[256]; data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2290:11: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). switch (atol(value)) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2301:47: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). printf("\tSet audio sample size = %lu.\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2306:41: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). snprintf(data, sizeof(data), "%lu\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2312:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). switch (atoi(value)) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2323:47: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). printf("\tSet audio sample rate = %lu.\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2328:41: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). snprintf(data, sizeof(data), "%lu\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2335:11: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). switch (atol(value)) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2352:50: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). printf("\tSet audio channel enable = %lu.\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2357:45: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). snprintf(data, sizeof(data), "0x%04lX\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2364:11: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). switch (atol(value)) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2372:43: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). printf("\tSet non-audio = 0x%04lX.\n", atol(value)); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2383:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fd = open(name, O_RDONLY)) < 0) { data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2394:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fd = open(name, O_WRONLY)) < 0) { data/mlt-6.22.1/src/modules/lumas/luma.c:42:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). bpp = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:44:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.type = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:47:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int tmp = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:56:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int tmp = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:64:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int tmp = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:72:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.rband = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:74:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.hmirror = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:76:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.vmirror = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:78:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.dmirror = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:80:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.offset = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:82:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.invert = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:84:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.flip = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:86:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.flop = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:88:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.pflip = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:90:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.pflop = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:92:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.quart = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:94:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). self.rotate = atoi( argv[ ++ arg ] ); data/mlt-6.22.1/src/modules/lumas/luma.c:119:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(filename, "wb"); data/mlt-6.22.1/src/modules/motion_est/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/motion_est/filter_autotrack_rectangle.c:226:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char geom[100]; data/mlt-6.22.1/src/modules/motion_est/filter_autotrack_rectangle.c:227:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( geom, "%d/%d:%dx%d", (int)boundry.x, (int)boundry.y, (int)boundry.w, (int)boundry.h ); data/mlt-6.22.1/src/modules/motion_est/filter_motion_est.c:1010:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( c->cache_image, *image, *width * *height * c->xstride ); data/mlt-6.22.1/src/modules/motion_est/producer_slowmotion.c:220:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( output, first_image, size ); data/mlt-6.22.1/src/modules/motion_est/producer_slowmotion.c:255:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char disp[30]; data/mlt-6.22.1/src/modules/motion_est/producer_slowmotion.c:256:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(disp, "+%10.2f.txt", actual_position); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:154:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char *arg[3] = { image, buffer }; data/mlt-6.22.1/src/modules/ndi/producer_ndi.c:202:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy data/mlt-6.22.1/src/modules/ndi/producer_ndi.c:315:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst + j * dst_stride, video->p_data + j * video->line_stride_in_bytes, stride ); data/mlt-6.22.1/src/modules/ndi/producer_ndi.c:333:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dst + j * dst_stride, src + j * ( video->line_stride_in_bytes / 2 ), stride ); data/mlt-6.22.1/src/modules/ndi/producer_ndi.c:456:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy data/mlt-6.22.1/src/modules/normalize/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/normalize/filter_audiolevel.c:72:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 50 ]; data/mlt-6.22.1/src/modules/normalize/filter_audiolevel.c:103:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "meta.media.audio_level.%d", c ); data/mlt-6.22.1/src/modules/normalize/filter_audiolevel.c:105:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "_audio_level.%d", c ); data/mlt-6.22.1/src/modules/oldfilm/factory.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:80:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[1204] = ""; data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:102:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char resource[1024] = ""; data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:103:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char savename[1024] = "", savename1[1024] = "", cachedy[100]; data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:112:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( savename, "cache-%d-%d", picnum,dx ); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:113:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( savename1, "cache-alpha-%d-%d", picnum, dx ); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:114:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( cachedy, "cache-dy-%d-%d", picnum,dx ); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:147:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( savealpha, alpha , luma_width * luma_height ); data/mlt-6.22.1/src/modules/oldfilm/filter_dust.c:148:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( savepic, luma_image , luma_width * luma_height * 2 ); data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c:48:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[256]; data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c:49:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char typebuf[256]; data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c:73:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( buf, "line%d", num); data/mlt-6.22.1/src/modules/oldfilm/filter_lines.c:74:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( typebuf, "typeline%d", num); data/mlt-6.22.1/src/modules/opencv/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c:471:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyboard[ 2 ] = " "; data/mlt-6.22.1/src/modules/opengl/factory.c:50:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp:301:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[256]; data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp:309:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[256]; data/mlt-6.22.1/src/modules/opengl/filter_glsl_manager.cpp:502:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *image, buf, img_size ); data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:522:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( img_copy, image, img_size ); data/mlt-6.22.1/src/modules/opengl/filter_movit_deconvolution_sharpen.cpp:53:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fingerprint[256]; data/mlt-6.22.1/src/modules/opengl/filter_movit_resize.cpp:39:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ret = atoi( align ); data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp:130:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 512 ]; data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp:146:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( temp, ".png" ); data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp:153:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( temp, "colour:0x00000080" ); data/mlt-6.22.1/src/modules/opengl/transition_movit_luma.cpp:172:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/plus/factory.c:50:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:97:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[12]; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:182:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyword[MAX_TEXT_LEN] = ""; data/mlt-6.22.1/src/modules/plus/filter_lift_gamma_gain.c:121:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( rlut, self->rlut, sizeof(self->rlut) ); data/mlt-6.22.1/src/modules/plus/filter_lift_gamma_gain.c:122:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( glut, self->glut, sizeof(self->glut) ); data/mlt-6.22.1/src/modules/plus/filter_lift_gamma_gain.c:123:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( blut, self->blut, sizeof(self->blut) ); data/mlt-6.22.1/src/modules/plus/filter_loudness.c:123:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char result[MAX_RESULT_SIZE]; data/mlt-6.22.1/src/modules/plus/filter_rgblut.c:45:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). val = atoi(tokeniser->tokens[i]); data/mlt-6.22.1/src/modules/plus/producer_blipflash.c:65:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if( blip ) memcpy( buffer, blip, new_size ); data/mlt-6.22.1/src/modules/plus/producer_blipflash.c:192:14: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if( image ) memcpy( buffer, image, new_size ); data/mlt-6.22.1/src/modules/plus/producer_count.c:233:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char font_size[MAX_TEXT_LEN]; data/mlt-6.22.1/src/modules/plus/producer_count.c:251:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char text[MAX_TEXT_LEN] = ""; data/mlt-6.22.1/src/modules/plus/transition_affine.c:38:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ret = atoi( align ); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:53:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(copy,str,len); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:123:12: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. if (str) sprintf(str,"%d",item->valueint); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:130:41: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. if (fabs(floor(d)-d)<=DBL_EPSILON) sprintf(str,"%.0f",d); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:131:46: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. else if (fabs(d)<1.0e-6 || fabs(d)>1.0e9) sprintf(str,"%e",d); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:132:18: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. else sprintf(str,"%f",d); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:139:23: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const unsigned char firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:465:93: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. static cJSON *create_reference(cJSON *item) {cJSON *ref=cJSON_New_Item();if (!ref) return 0;memcpy(ref,item,sizeof(cJSON));ref->string=0;ref->type|=cJSON_IsReference;ref->next=ref->prev=0;return ref;} data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:195:14: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( ( fd = open( filename, O_RDONLY ) ) < 0 ) data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:262:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char si_pid[len + 1]; data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:265:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( si_pid, "si." ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:267:4: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( si_pid, ".pid" ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:278:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char si_time[len + 1]; data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:280:6: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( si_time, "si." ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:282:6: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( si_time, ".time" ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:335:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( p, data_ptr, len ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:650:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->udp_packet[self->udp_bytes], buf, count ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:660:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( packet + offset, self->udp_packet, self->udp_packet_size ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:1026:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( packet, self->leftover_data, self->leftover_size ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:1027:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( packet + self->leftover_size, buf, TSP_BYTES - self->leftover_size ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:1035:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( packet, buf, TSP_BYTES ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:1040:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->leftover_data, buf, self->leftover_size ); data/mlt-6.22.1/src/modules/plusgpl/factory.c:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:48:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *MODESTR[3] = { "rgb", "alpha", "luma" }; data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:51:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *ALPHAOPERATIONSTR[5] = { "clear", "max", "min", "add", "sub" }; data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:212:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( src, map, width * height ); data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:418:25: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( p, map, length ); data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:478:25: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha, map, length ); data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:557:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). while ( atoi( keyframe->string ) < time && keyframe->next ) data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:563:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). pos1 = atoi( keyframeOld->string ); data/mlt-6.22.1/src/modules/plusgpl/filter_rotoscoping.c:564:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). pos2 = atoi( keyframe->string ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:97:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char status[80]; data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:116:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dstp,srcp,row_size); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:125:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[512]; data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:618:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, *image, image_size ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:619:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:634:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", cx->pframe ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:640:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", cx->nframe ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:668:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", cx->y ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:670:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( key, "%d", cx->y ? cx->y - 1 : 1 ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:838:42: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. if ( cx->inpattern && !cx->override ) strcpy( cx->status, "[in-pattern]" ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:839:46: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else if ( cx->inpattern && cx->override ) strcpy( cx->status, "[in-pattern*]" ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:840:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy( cx->status, "[out-of-pattern]" ); data/mlt-6.22.1/src/modules/qt/factory.c:44:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/qt/filter_audiospectrum.cpp:79:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( save_bins, bins, bins_size ); data/mlt-6.22.1/src/modules/qt/filter_audiowaveform.cpp:56:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( ret->buffer, buffer, buffer_size ); data/mlt-6.22.1/src/modules/qt/filter_audiowaveform.cpp:145:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( new_sample_dst, new_sample_src, new_sample_bytes ); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:766:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(img.scanLine(line),img1.scanLine(line),img.bytesPerLine()); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:775:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_image, self->rgba_image, image_size ); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:785:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_alpha, alpha, width * height ); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:797:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(self->current_image, self->rgba_image, image_size); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:815:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_image, buffer, image_size ); data/mlt-6.22.1/src/modules/qt/kdenlivetitle_wrapper.cpp:821:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_alpha, buffer, width * height ); data/mlt-6.22.1/src/modules/qt/producer_kdenlivetitle.c:103:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, self->current_image, data/mlt-6.22.1/src/modules/qt/producer_kdenlivetitle.c:114:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, self->current_alpha, self->current_width * self->current_height ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:192:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char wildcard[ 1024 ]; data/mlt-6.22.1/src/modules/qt/producer_qimage.c:267:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image_copy, self->current_image, image_size ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:280:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( alpha_copy, self->current_alpha, self->alpha_size ); data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp:475:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[81]; data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:288:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_image, scaled.constBits(), image_size); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:298:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->current_image[3 * y * width], values, 3 * width); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:357:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_image, buffer, image_size ); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:364:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->current_alpha, buffer, self->alpha_size ); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:396:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( tempFile.open() ) data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:439:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char full[1024]; data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:440:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[ 50 ]; data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:446:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(key, "%d", keyvalue ++); data/mlt-6.22.1/src/modules/qt/transition_qtblend.cpp:220:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *image, a_image, image_size ); data/mlt-6.22.1/src/modules/qt/transition_vqm.cpp:136:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *image + window_size, b_image + window_size, window_size ); data/mlt-6.22.1/src/modules/resample/factory.c:28:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/resample/filter_resample.c:152:73: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mlt_properties_set_int( MLT_FILTER_PROPERTIES( this ), "frequency", atoi( arg ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1669:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( outBufferList->mBuffers[handle->iStream[0]].mData, data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1684:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( outBufferList->mBuffers[handle->iStream[0]+i].mData, data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1762:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream_.userBuffer[1], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1774:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void *)&outBuffer[i*stream_.bufferSize], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1975:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. port = (char *) ports[ nChannels ]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2014:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. port = (char *) ports[ nPorts ]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2170:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. port = (char *) ports[ nPorts ]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2336:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char label[64]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2627:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( jackbuffer, &stream_.deviceBuffer[i*bufferBytes], bufferBytes ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2633:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( jackbuffer, &stream_.userBuffer[0][i*bufferBytes], bufferBytes ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2649:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &stream_.deviceBuffer[i*bufferBytes], jackbuffer, bufferBytes ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2656:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &stream_.userBuffer[1][i*bufferBytes], jackbuffer, bufferBytes ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2773:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char driverName[32]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:2893:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char driverName[32]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3478:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( handle->bufferInfos[i].buffers[bufferIndex], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3492:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( handle->bufferInfos[i].buffers[bufferIndex], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3514:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &stream_.deviceBuffer[j++*bufferBytes], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3529:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &stream_.userBuffer[1][bufferBytes*j++], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3758:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( char* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( char ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3759:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( char* ) buffer )[fromInSize], fromZeroSize * sizeof( char ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3762:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( short* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( short ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3763:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( short* ) buffer )[fromInSize], fromZeroSize * sizeof( short ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3766:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( S24* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( S24 ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3767:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( S24* ) buffer )[fromInSize], fromZeroSize * sizeof( S24 ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3770:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( int* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( int ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3771:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( int* ) buffer )[fromInSize], fromZeroSize * sizeof( int ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3774:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( float* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( float ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3775:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( float* ) buffer )[fromInSize], fromZeroSize * sizeof( float ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3778:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( double* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( double ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3779:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer_, &( ( double* ) buffer )[fromInSize], fromZeroSize * sizeof( double ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3819:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( char* ) buffer_ )[outIndex_], fromOutSize * sizeof( char ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3820:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( char* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( char ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3823:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( short* ) buffer_ )[outIndex_], fromOutSize * sizeof( short ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3824:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( short* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( short ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3827:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( S24* ) buffer_ )[outIndex_], fromOutSize * sizeof( S24 ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3828:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( S24* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( S24 ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3831:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( int* ) buffer_ )[outIndex_], fromOutSize * sizeof( int ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3832:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( int* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( int ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3835:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( float* ) buffer_ )[outIndex_], fromOutSize * sizeof( float ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3836:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( float* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( float ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3839:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( buffer, &( ( double* ) buffer_ )[outIndex_], fromOutSize * sizeof( double ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3840:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( double* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( double ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3889:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( char* ) outBuffer )[ outSample * channelCount ], &( ( char* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( char ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3892:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( short* ) outBuffer )[ outSample * channelCount ], &( ( short* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( short ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3895:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( S24* ) outBuffer )[ outSample * channelCount ], &( ( S24* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( S24 ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3898:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( int* ) outBuffer )[ outSample * channelCount ], &( ( int* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( int ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3901:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( float* ) outBuffer )[ outSample * channelCount ], &( ( float* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( float ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:3904:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &( ( double* ) outBuffer )[ outSample * channelCount ], &( ( double* ) inBuffer )[ inSample * channelCount ], channelCount * sizeof( double ) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:4938:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream_.userBuffer[INPUT], data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6490:5: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. CopyMemory( buffer1, buffer, bufferSize1 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6491:28: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if ( buffer2 != NULL ) CopyMemory( buffer2, buffer+bufferSize1, bufferSize2 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6619:7: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. CopyMemory( buffer, buffer1, bufferSize1 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6620:30: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if ( buffer2 != NULL ) CopyMemory( buffer+bufferSize1, buffer2, bufferSize2 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6842:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6849:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "hw:%d", card ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6891:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6899:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "hw:%d", card ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6918:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "hw:%d,%d", card, subdevice ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:6931:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( name, "default" ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:7196:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:7206:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "hw:%d", card ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:7219:11: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( name, "hw:%d,%d", card, subdevice ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:7232:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( name, "default" ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:8617:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:8641:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:8759:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:8840:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( ainfo.devnode, flags, 0 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.h:640:12: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char c3[3]; data/mlt-6.22.1/src/modules/rtaudio/RtAudio.h:738:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *userBuffer[2]; // Playback and record, respectively. data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:263:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool open( const char* arg ) data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:528:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( outbuf, audio_buffer, len ); data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:542:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( outbuf, audio_buffer, audio_avail ); data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:633:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &audio_buffer[ audio_avail ], pcm, dst_bytes ); data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:642:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, pcm, dst_stride ); data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:857:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( rtaudio->open( arg? arg : getenv( "AUDIODEV" ) ) ) data/mlt-6.22.1/src/modules/rtaudio/consumer_rtaudio.cpp:880:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/rubberband/factory.c:28:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c:374:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream, self->audio_buffer, len ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c:484:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->audio_buffer[ self->audio_avail ], pcm, dst_bytes ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c:493:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, pcm, dst_stride ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c:569:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyboard[ 2 ] = " "; data/mlt-6.22.1/src/modules/sdl/consumer_sdl.c:689:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( self->buffer, image, size ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl_audio.c:276:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream, self->audio_buffer, len ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl_audio.c:384:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->audio_buffer[ self->audio_avail ], pcm, dst_bytes ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl_audio.c:393:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, pcm, dst_stride ); data/mlt-6.22.1/src/modules/sdl/consumer_sdl_still.c:415:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char keyboard[ 2 ] = " "; data/mlt-6.22.1/src/modules/sdl/factory.c:36:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:65:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *image, surface->pixels, image_size ); data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:70:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *image, surface->pixels, image_size ); data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:97:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fullname[ 1024 ]; data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:110:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 20 ]; data/mlt-6.22.1/src/modules/sdl/producer_sdl_image.c:111:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "%d", i ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2.c:335:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream, self->audio_buffer, len ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2.c:465:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->audio_buffer[ self->audio_avail ], pcm, dst_bytes ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2.c:474:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, pcm, dst_stride ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2_audio.c:286:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( stream, self->audio_buffer, bytes ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2_audio.c:408:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &self->audio_buffer[ self->audio_avail ], pcm, dst_bytes ); data/mlt-6.22.1/src/modules/sdl2/consumer_sdl2_audio.c:417:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( dest, pcm, dst_stride ); data/mlt-6.22.1/src/modules/sdl2/factory.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/sox/factory.c:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/sox/factory.c:75:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64] = "sox."; data/mlt-6.22.1/src/modules/sox/filter_sox.c:97:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 256 ]; data/mlt-6.22.1/src/modules/sox/filter_sox.c:170:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_effect_%d_%d", count, channel ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:218:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ 256 ]; data/mlt-6.22.1/src/modules/sox/filter_sox.c:219:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_effect_0_%d", i ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:308:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char effect[32]; data/mlt-6.22.1/src/modules/sox/filter_sox.c:390:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( id, "_effect_%d_%d", j, i ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:434:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( input_buffer, output_buffer, *samples * sizeof(st_sample_t) ); data/mlt-6.22.1/src/modules/swfdec/producer_swfdec.c:273:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/vid.stab/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/videostab/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/videostab/stab/klt/pyramid.c:105:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pyramid->img[0]->data, img->data, ncols*nrows*sizeof(float)); data/mlt-6.22.1/src/modules/videostab/stab/main.c:74:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). opt_shutter_angle = atoi(optarg); data/mlt-6.22.1/src/modules/videostab/stab/main.c:78:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). opt_mjpeg_quality = atoi(optarg); data/mlt-6.22.1/src/modules/videostab/stabilize.c:359:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[32]; data/mlt-6.22.1/src/modules/videostab/stabilize.c:361:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(buffer, "w"); data/mlt-6.22.1/src/modules/videostab/stabilize.c:437:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[32]; data/mlt-6.22.1/src/modules/videostab/stabilize.c:439:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(buffer, "w"); data/mlt-6.22.1/src/modules/videostab/stabilize.c:575:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ci_segms, ci, sizeof(contrast_idx) * sd->field_num); data/mlt-6.22.1/src/modules/videostab/stabilize.c:641:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[32]; data/mlt-6.22.1/src/modules/videostab/stabilize.c:643:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(buffer, "w"); data/mlt-6.22.1/src/modules/videostab/stabilize.c:867:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unsharp_param[128]; data/mlt-6.22.1/src/modules/videostab/stabilize.c:869:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(unsharp_param,"luma=-1:luma_matrix=%ix%i:pre=1", data/mlt-6.22.1/src/modules/videostab/stabilize.c:896:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(sd->currcopy, sd->grayimage, sd->framesize); data/mlt-6.22.1/src/modules/videostab/stabilize.c:930:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(sd->prev, sd->grayimage, sd->framesize); data/mlt-6.22.1/src/modules/videostab/stabilize.c:932:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(sd->prev, sd->currcopy, sd->framesize); data/mlt-6.22.1/src/modules/videostab/stabilize.h:117:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char conf_str[1024]; data/mlt-6.22.1/src/modules/videostab/tlist.c:19:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pos->data,data,size); data/mlt-6.22.1/src/modules/videostab/transform.c:154:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ts,transforms, sizeof(Transform)*len ); data/mlt-6.22.1/src/modules/videostab/transform.c:188:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ts, transforms, sizeof(Transform) * len); data/mlt-6.22.1/src/modules/videostab/transform.c:225:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ts, transforms, sizeof(Transform) * len); data/mlt-6.22.1/src/modules/videostab/transform_image.c:447:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ts2, ts, sizeof(Transform) * td->trans_len); data/mlt-6.22.1/src/modules/videostab/transform_image.c:694:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(td->src, frame, td->framesize_src); data/mlt-6.22.1/src/modules/videostab/transform_image.h:79:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char conf_str[1024]; data/mlt-6.22.1/src/modules/vmfx/factory.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/vmfx/filter_shape.c:149:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 512 ]; data/mlt-6.22.1/src/modules/vmfx/filter_shape.c:166:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat( temp, ".png" ); data/mlt-6.22.1/src/modules/vmfx/filter_shape.c:191:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[64]; data/mlt-6.22.1/src/modules/vmfx/producer_pgm.c:94:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[ 512 ]; data/mlt-6.22.1/src/modules/vmfx/producer_pgm.c:196:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( image, source, size * 2 ); data/mlt-6.22.1/src/modules/vorbis/factory.c:28:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/vorbis/producer_vorbis.c:323:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *buffer, audio_buffer, size ); data/mlt-6.22.1/src/modules/xine/deinterlace.c:38:26: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define xine_fast_memcpy memcpy data/mlt-6.22.1/src/modules/xine/xineutils.h:65:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[80]; data/mlt-6.22.1/src/modules/xine/xineutils.h:115:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char b[8]; /* 8 Byte (8-bit) values */ data/mlt-6.22.1/src/modules/xine/xineutils.h:116:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char ub[8]; /* 8 Unsigned Byte */ data/mlt-6.22.1/src/modules/xine/xineutils.h:720:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char env[len]; data/mlt-6.22.1/src/modules/xine/yadif.c:382:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, cur0 + refs, w);// duplicate 1 data/mlt-6.22.1/src/modules/xine/yadif.c:384:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, cur0, w); data/mlt-6.22.1/src/modules/xine/yadif.c:390:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst + dst_stride, cur0 + refs, w); // copy original data/mlt-6.22.1/src/modules/xine/yadif.c:400:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst + y*dst_stride, cur0 + y*refs, w); // copy original data/mlt-6.22.1/src/modules/xine/yadif.c:407:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst + (h-2)*dst_stride, cur0 + (h-2)*refs, w); // copy original data/mlt-6.22.1/src/modules/xine/yadif.c:411:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst + (h-1)*dst_stride, cur0 + (h-2)*refs, w); // duplicate h-2 data/mlt-6.22.1/src/modules/xine/yadif.c:413:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst + (h-1)*dst_stride, cur0 + (h-1)*refs, w); // copy original data/mlt-6.22.1/src/modules/xml/consumer_xml.c:103:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ ID_SIZE ]; data/mlt-6.22.1/src/modules/xml/consumer_xml.c:109:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "producer%d", context->producer_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:112:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "multitrack%d", context->multitrack_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:115:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "playlist%d", context->playlist_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:118:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "tractor%d", context->tractor_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:121:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "filter%d", context->filter_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:124:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "transition%d", context->transition_count ++ ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:471:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[ 20 ]; data/mlt-6.22.1/src/modules/xml/consumer_xml.c:481:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( temp, "%d", info.repeat ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:720:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmpstr[ 32 ]; data/mlt-6.22.1/src/modules/xml/consumer_xml.c:781:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->width ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:783:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->height ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:785:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->progressive ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:787:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->sample_aspect_num ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:789:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->sample_aspect_den ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:791:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->display_aspect_num ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:793:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->display_aspect_den ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:795:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->frame_rate_num ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:797:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->frame_rate_den ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:799:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf( tmpstr, "%d", profile->colorspace ); data/mlt-6.22.1/src/modules/xml/factory.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char file[ PATH_MAX ]; data/mlt-6.22.1/src/modules/xml/producer_xml.c:139:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[ BRANCH_SIG_LEN ]; data/mlt-6.22.1/src/modules/xml/producer_xml.c:1217:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[20]; data/mlt-6.22.1/src/tests/test_properties/test_properties.cpp:458:22: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (tempFile.open()) { data/mlt-6.22.1/src/win32/strptime.c:71:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const nast[5] = { data/mlt-6.22.1/src/win32/strptime.c:74:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const nadt[5] = { data/mlt-6.22.1/src/win32/strptime.c:77:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const am_pm[2] = { data/mlt-6.22.1/src/win32/strptime.c:80:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const day[7] = { data/mlt-6.22.1/src/win32/strptime.c:83:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const abday[7] = { data/mlt-6.22.1/src/win32/strptime.c:86:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const mon[12] = { data/mlt-6.22.1/src/win32/strptime.c:89:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char * const abmon[12] = { data/mlt-6.22.1/src/win32/win32.c:136:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char codepage_str[10]; data/mlt-6.22.1/src/win32/win32.c:157:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char codepage_str[10]; data/mlt-6.22.1/src/win32/win32.c:177:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char iso639[10]; data/mlt-6.22.1/src/win32/win32.c:178:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char iso3166[10]; data/mlt-6.22.1/src/win32/win32.c:180:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char result[33]; data/mlt-6.22.1/src/win32/win32.c:246:10: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int n = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filename_utf8, -1, NULL, 0); data/mlt-6.22.1/src/win32/win32.c:250:12: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int m = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, mode_utf8, -1, NULL, 0); data/mlt-6.22.1/src/win32/win32.c:254:6: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). MultiByteToWideChar(CP_UTF8, 0, filename_utf8, -1, filename_w, n); data/mlt-6.22.1/src/win32/win32.c:255:6: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). MultiByteToWideChar(CP_UTF8, 0, mode_utf8, -1, mode_w, n); data/mlt-6.22.1/src/win32/win32.c:265:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return fopen(filename_utf8, mode_utf8); data/mlt-6.22.1/src/framework/mlt_animation.c:222:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( value[0] == '\"' && value[strlen(value) - 1] == '\"' ) data/mlt-6.22.1/src/framework/mlt_animation.c:225:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value[strlen(value) - 1] = '\0'; data/mlt-6.22.1/src/framework/mlt_animation.c:358:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( p && p[0] == '\"' && p[strlen(p) - 1] == '\"' ) { data/mlt-6.22.1/src/framework/mlt_animation.c:360:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p[strlen(p) - 1] = '\0'; data/mlt-6.22.1/src/framework/mlt_animation.c:683:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). item_len += strlen( value ); data/mlt-6.22.1/src/framework/mlt_animation.c:700:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( ret, ";" ); data/mlt-6.22.1/src/framework/mlt_animation.c:725:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). used = strlen( ret ); data/mlt-6.22.1/src/framework/mlt_animation.c:736:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). used = strlen( ret ); data/mlt-6.22.1/src/framework/mlt_factory.c:107:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( path && strlen( path ) ) data/mlt-6.22.1/src/framework/mlt_factory.c:114:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( dirsep == &path[ strlen( path ) - 1 ] ) data/mlt-6.22.1/src/framework/mlt_factory.c:195:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t size = strlen( exedir ); data/mlt-6.22.1/src/framework/mlt_factory.c:198:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_directory = calloc( 1, size + strlen( PREFIX_DATA ) + 1 ); data/mlt-6.22.1/src/framework/mlt_factory.c:204:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_directory = calloc( 1, size + strlen( PREFIX_LIB ) + 1 ); data/mlt-6.22.1/src/framework/mlt_factory.c:246:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). path = malloc( strlen( mlt_environment( "MLT_DATA" ) ) + strlen( PRESETS_DIR ) + 1 ); data/mlt-6.22.1/src/framework/mlt_factory.c:246:61: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). path = malloc( strlen( mlt_environment( "MLT_DATA" ) ) + strlen( PRESETS_DIR ) + 1 ); data/mlt-6.22.1/src/framework/mlt_geometry.c:599:3: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy( ret, "" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:605:4: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy( temp, "" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:648:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( temp + strlen( temp ), "%g", item.x ); data/mlt-6.22.1/src/framework/mlt_geometry.c:650:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( temp, "/" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:651:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( temp + strlen( temp ), "%g", item.y ); data/mlt-6.22.1/src/framework/mlt_geometry.c:654:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( temp, ":" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:655:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( temp + strlen( temp ), "%g", item.w ); data/mlt-6.22.1/src/framework/mlt_geometry.c:658:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( temp, "x" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:659:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( temp + strlen( temp ), "%g", item.h ); data/mlt-6.22.1/src/framework/mlt_geometry.c:662:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( temp, ":" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:663:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( temp + strlen( temp ), "%g", item.mix ); data/mlt-6.22.1/src/framework/mlt_geometry.c:666:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( used + strlen( temp ) + 2 > size ) // +2 for ';' and NULL data/mlt-6.22.1/src/framework/mlt_geometry.c:675:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( ret, ";" ); data/mlt-6.22.1/src/framework/mlt_geometry.c:679:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). used += strlen( temp ); data/mlt-6.22.1/src/framework/mlt_log.c:64:68: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( !( resource && *resource && resource[0] == '<' && resource[ strlen(resource) - 1 ] == '>' ) ) data/mlt-6.22.1/src/framework/mlt_pool.c:44:26: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. # define mlt_alloc(X) memalign( 16, (X) ) data/mlt-6.22.1/src/framework/mlt_profile.c:54:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( name ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:60:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + strlen( name ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:60:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + strlen( name ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:60:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + strlen( name ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:67:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_profile.c:67:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_profile.c:69:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( filename[ strlen( filename ) - 1 ] != '/' ) data/mlt-6.22.1/src/framework/mlt_profile.c:70:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename[ strlen( filename ) ] = '/'; data/mlt-6.22.1/src/framework/mlt_profile.c:366:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:366:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + 1 ); data/mlt-6.22.1/src/framework/mlt_profile.c:379:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). profile_name[ strlen( profile_name ) - 1 ] != '~' ) data/mlt-6.22.1/src/framework/mlt_properties.c:216:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int x = strlen( temp ) - 1; data/mlt-6.22.1/src/framework/mlt_properties.c:225:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( temp2, temp, sizeof(temp2) - strlen(temp2) - 1 ); data/mlt-6.22.1/src/framework/mlt_properties.c:225:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( temp2, temp, sizeof(temp2) - strlen(temp2) - 1 ); data/mlt-6.22.1/src/framework/mlt_properties.c:290:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( !( self && name && strlen( name ) ) ) data/mlt-6.22.1/src/framework/mlt_properties.c:309:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( 5 + strlen(name) + strlen(data) + strlen(type) + strlen(service) + ( profile? strlen(profile) : 0 ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:309:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( 5 + strlen(name) + strlen(data) + strlen(type) + strlen(service) + ( profile? strlen(profile) : 0 ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:309:59: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( 5 + strlen(name) + strlen(data) + strlen(type) + strlen(service) + ( profile? strlen(profile) : 0 ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:309:74: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( 5 + strlen(name) + strlen(data) + strlen(type) + strlen(service) + ( profile? strlen(profile) : 0 ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:309:103: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( 5 + strlen(name) + strlen(data) + strlen(type) + strlen(service) + ( profile? strlen(profile) : 0 ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:489:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int length = strlen( prefix ); data/mlt-6.22.1/src/framework/mlt_properties.c:670:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(id, value, length); data/mlt-6.22.1/src/framework/mlt_properties.c:736:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( id, value, length ); data/mlt-6.22.1/src/framework/mlt_properties.c:989:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( value != NULL && value[ strlen( value ) - 1 ] == '\"' ) data/mlt-6.22.1/src/framework/mlt_properties.c:990:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value[ strlen( value ) - 1 ] = '\0'; data/mlt-6.22.1/src/framework/mlt_properties.c:1374:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while( f < strlen( file ) && w < strlen( wild ) ) data/mlt-6.22.1/src/framework/mlt_properties.c:1374:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while( f < strlen( file ) && w < strlen( wild ) ) data/mlt-6.22.1/src/framework/mlt_properties.c:1379:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( w == strlen( wild ) ) data/mlt-6.22.1/src/framework/mlt_properties.c:1380:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). f = strlen( file ); data/mlt-6.22.1/src/framework/mlt_properties.c:1381:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while ( f != strlen( file ) && tolower( file[ f ] ) != tolower( wild[ w ] ) ) data/mlt-6.22.1/src/framework/mlt_properties.c:1399:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return strlen( file ) == f && strlen( wild ) == w; data/mlt-6.22.1/src/framework/mlt_properties.c:1399:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return strlen( file ) == f && strlen( wild ) == w; data/mlt-6.22.1/src/framework/mlt_properties.c:1577:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( c ); data/mlt-6.22.1/src/framework/mlt_properties.c:1591:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( s ); data/mlt-6.22.1/src/framework/mlt_properties.c:1713:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( value && value[ strlen( value ) - 1 ] == '\"' ) data/mlt-6.22.1/src/framework/mlt_properties.c:1714:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value[ strlen( value ) - 1 ] = 0; data/mlt-6.22.1/src/framework/mlt_properties.c:1763:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( value && value[ strlen( value ) - 1 ] == '\"' ) data/mlt-6.22.1/src/framework/mlt_properties.c:1764:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value[ strlen( value ) - 1 ] = 0; data/mlt-6.22.1/src/framework/mlt_properties.c:1795:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value = calloc( 1, strlen( old_value ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:1795:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value = calloc( 1, strlen( old_value ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:1798:4: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( value, "\n" ); data/mlt-6.22.1/src/framework/mlt_properties.c:1813:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value = calloc( 1, strlen( old_value ) + 2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:1815:4: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( value, "\n" ); data/mlt-6.22.1/src/framework/mlt_properties.c:1820:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value = calloc( 1, strlen( old_value ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:1820:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). value = calloc( 1, strlen( old_value ) + strlen( name ) + 2 ); data/mlt-6.22.1/src/framework/mlt_properties.c:1822:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strcmp( old_value, "" ) && old_value[ strlen( old_value ) - 1 ] != '\n' ) data/mlt-6.22.1/src/framework/mlt_properties.c:1823:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( value, " " ); data/mlt-6.22.1/src/framework/mlt_properties.c:1835:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( name && name[0] == '"' && name[strlen(name) - 1] == '"' ) { data/mlt-6.22.1/src/framework/mlt_properties.c:1837:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). name[strlen(name) - 1] = '\0'; data/mlt-6.22.1/src/framework/mlt_properties.c:1893:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). temp[ strlen( temp ) - 1 ] = '\0'; data/mlt-6.22.1/src/framework/mlt_properties.c:1976:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen( buffer->string ); data/mlt-6.22.1/src/framework/mlt_properties.c:2091:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). output_yaml_block_literal( output, value, indent + strlen( name ) + strlen( "|" ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:2091:75: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). output_yaml_block_literal( output, value, indent + strlen( name ) + strlen( "|" ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:2139:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). output_yaml_block_literal( output, value, indent + strlen( name ) + strlen( ": " ) ); data/mlt-6.22.1/src/framework/mlt_properties.c:2139:74: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). output_yaml_block_literal( output, value, indent + strlen( name ) + strlen( ": " ) ); data/mlt-6.22.1/src/framework/mlt_property.c:448:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). unsigned int alpha = ( strlen( value ) > 7 ) ? ( rgb >> 24 ) : 0xff; data/mlt-6.22.1/src/framework/mlt_property.c:1589:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( result + strlen( result ), "%g", rect->x ); data/mlt-6.22.1/src/framework/mlt_property.c:1591:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( result + strlen( result ), " %g", rect->y ); data/mlt-6.22.1/src/framework/mlt_property.c:1593:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( result + strlen( result ), " %g", rect->w ); data/mlt-6.22.1/src/framework/mlt_property.c:1595:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( result + strlen( result ), " %g", rect->h ); data/mlt-6.22.1/src/framework/mlt_property.c:1597:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sprintf( result + strlen( result ), " %g", rect->o ); data/mlt-6.22.1/src/framework/mlt_repository.c:90:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). newpath = calloc( 1, 5 + strlen( exedir ) + strlen( sep ) + strlen( syspath ) + 1 ); data/mlt-6.22.1/src/framework/mlt_repository.c:90:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). newpath = calloc( 1, 5 + strlen( exedir ) + strlen( sep ) + strlen( syspath ) + 1 ); data/mlt-6.22.1/src/framework/mlt_repository.c:90:62: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). newpath = calloc( 1, 5 + strlen( exedir ) + strlen( sep ) + strlen( syspath ) + 1 ); data/mlt-6.22.1/src/framework/mlt_repository.c:433:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if ( strlen( locale ) > 2 ) data/mlt-6.22.1/src/framework/mlt_repository.c:466:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( de->d_name[0] != '.' && de->d_name[strlen( de->d_name ) - 1] != '~' ) data/mlt-6.22.1/src/framework/mlt_repository.c:479:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( sub, de->d_name, sizeof(sub) ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:88:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int length = strlen( string ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:89:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int delimiter_size = strlen( delimiter ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:95:2: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy( token, "" ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:111:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( token, start, end - start ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:113:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strchr( token, '\"' ) == NULL || token[ strlen( token ) - 1 ] == '\"' ) data/mlt-6.22.1/src/framework/mlt_tokeniser.c:116:5: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy( token, "" ); data/mlt-6.22.1/src/framework/mlt_tokeniser.c:121:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( token, delimiter, delimiter_size ); data/mlt-6.22.1/src/framework/mlt_types.h:239:12: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. extern int usleep(unsigned int useconds); data/mlt-6.22.1/src/melt/io.c:48:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int length = strlen( input ); data/mlt-6.22.1/src/melt/io.c:61:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int length = strlen( input ); data/mlt-6.22.1/src/melt/io.c:184:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read( 0, &ch, 1 ); data/mlt-6.22.1/src/melt/melt.c:70:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen( value ) == 1 ) data/mlt-6.22.1/src/melt/melt.c:444:13: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). value = getc( stdin ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:877:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( strlen(AVDATADIR) + strlen(codec->name) + strlen(vpre) + strlen(".ffpreset") + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:877:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( strlen(AVDATADIR) + strlen(codec->name) + strlen(vpre) + strlen(".ffpreset") + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:877:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( strlen(AVDATADIR) + strlen(codec->name) + strlen(vpre) + strlen(".ffpreset") + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:877:84: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *path = malloc( strlen(AVDATADIR) + strlen(codec->name) + strlen(vpre) + strlen(".ffpreset") + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:880:6: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( path, "-" ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2310:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2310:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2315:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2315:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2320:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2320:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( cwd ) + strlen( file ) + 2 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2334:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( file ) + strlen( ".mbtree" ) + 1 ); data/mlt-6.22.1/src/modules/avformat/consumer_avformat.c:2334:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full = malloc( strlen( file ) + strlen( ".mbtree" ) + 1 ); data/mlt-6.22.1/src/modules/avformat/factory.c:190:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( opt->help ) + strlen( subclass ) + 4 ); data/mlt-6.22.1/src/modules/avformat/factory.c:190:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( opt->help ) + strlen( subclass ) + 4 ); data/mlt-6.22.1/src/modules/avformat/factory.c:194:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( s, ")" ); data/mlt-6.22.1/src/modules/avformat/factory.c:253:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen( opt->default_val.str ) + 3; data/mlt-6.22.1/src/modules/avformat/factory.c:459:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( service_name, f->name, sizeof( service_name ) - strlen( service_name ) -1 ); data/mlt-6.22.1/src/modules/avformat/factory.c:459:61: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( service_name, f->name, sizeof( service_name ) - strlen( service_name ) -1 ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:334:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t n = strlen( in ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:596:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( width ) + strlen( height ) + 2 ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:596:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( width ) + strlen( height ) + 2 ); data/mlt-6.22.1/src/modules/avformat/producer_avformat.c:598:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( s, "x"); data/mlt-6.22.1/src/modules/core/consumer_multi.c:281:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( !strncmp( name, key, strlen(key) ) ) data/mlt-6.22.1/src/modules/core/consumer_multi.c:282:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_properties_set( p, name + strlen(key), data/mlt-6.22.1/src/modules/core/filter_data_show.c:35:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int type_len = strlen( type ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:58:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( temp, profile, sizeof( temp ) ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:94:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *meta = malloc( strlen(name) + 18 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:151:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int len = strlen( prefix ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:182:92: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( mlt_properties_get_int( filter_properties, "dynamic" ) == 1 && !strcmp( name + strlen( name ) - 6, "markup") ) data/mlt-6.22.1/src/modules/core/filter_data_show.c:195:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( keywords[ strlen( keywords ) -1 ] == '\\' ) data/mlt-6.22.1/src/modules/core/filter_data_show.c:198:11: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, keywords, sizeof( result ) - strlen( result ) - 2 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:198:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, keywords, sizeof( result ) - strlen( result ) - 2 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:199:11: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( result, "#" ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:204:11: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, keywords, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:204:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, keywords, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:214:11: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, s, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:214:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, s, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:223:10: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, s, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:223:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, s, sizeof( result ) - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:229:10: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, metavalue ? metavalue : "-", sizeof( result ) - strlen( result ) -1 ); data/mlt-6.22.1/src/modules/core/filter_data_show.c:229:75: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, metavalue ? metavalue : "-", sizeof( result ) - strlen( result ) -1 ); data/mlt-6.22.1/src/modules/core/producer_consumer.c:116:70: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_properties_set(MLT_CONSUMER_PROPERTIES( cx->consumer ), name + strlen( CONSUMER_PROPERTIES_PREFIX ), data/mlt-6.22.1/src/modules/core/producer_consumer.c:120:70: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_properties_set(MLT_PRODUCER_PROPERTIES( cx->producer ), name + strlen( PRODUCER_PROPERTIES_PREFIX ), data/mlt-6.22.1/src/modules/core/producer_loader.c:49:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char* prefix_file = calloc( 1, strlen( file ) + strlen( prefix ) + 1 ); data/mlt-6.22.1/src/modules/core/producer_loader.c:49:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char* prefix_file = calloc( 1, strlen( file ) + strlen( prefix ) + 1 ); data/mlt-6.22.1/src/modules/core/producer_melt.c:42:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( temp[ strlen( temp ) - 1 ] != '\n' ) data/mlt-6.22.1/src/modules/core/producer_melt.c:44:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). temp[ strlen( temp ) - 1 ] = '\0'; data/mlt-6.22.1/src/modules/decklink/consumer_decklink.cpp:962:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *key = (char*) calloc( 1, strlen( format ) + 1 ); data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:826:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *key = (char*) calloc( 1, strlen( format ) + 17 ); data/mlt-6.22.1/src/modules/decklink/producer_decklink.cpp:860:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). resource = strlen( resource ) ? resource : "0"; data/mlt-6.22.1/src/modules/dv/producer_libdv.c:199:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int result = read( fd, frame_buf, FRAME_SIZE_525_60 ) == FRAME_SIZE_525_60; data/mlt-6.22.1/src/modules/dv/producer_libdv.c:206:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result = read( fd, frame_buf + FRAME_SIZE_525_60, diff ) == diff; data/mlt-6.22.1/src/modules/frei0r/factory.c:61:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *dirname = malloc( strlen( mlt_environment( "MLT_APPDIR" ) ) + strlen( FREI0R_PLUGIN_PATH ) + 1 ); data/mlt-6.22.1/src/modules/frei0r/factory.c:61:70: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *dirname = malloc( strlen( mlt_environment( "MLT_APPDIR" ) ) + strlen( FREI0R_PLUGIN_PATH ) + 1 ); data/mlt-6.22.1/src/modules/frei0r/factory.c:66:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *dirname = malloc( strlen( mlt_environment( "MLT_APPDIR" ) ) + strlen( FREI0R_PLUGIN_PATH ) + 1 ); data/mlt-6.22.1/src/modules/frei0r/factory.c:66:70: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *dirname = malloc( strlen( mlt_environment( "MLT_APPDIR" ) ) + strlen( FREI0R_PLUGIN_PATH ) + 1 ); data/mlt-6.22.1/src/modules/frei0r/factory.c:113:4: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy(servicetype, ""); data/mlt-6.22.1/src/modules/frei0r/factory.c:156:54: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). info.major_version + info.minor_version / pow(10, strlen(string))); data/mlt-6.22.1/src/modules/frei0r/factory.c:327:103: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mlt_properties_set_double(properties, "version", info.major_version + info.minor_version / pow(10, strlen(minor))); data/mlt-6.22.1/src/modules/frei0r/factory.c:445:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char* shortname = name + strlen(dirname) + 1; data/mlt-6.22.1/src/modules/frei0r/factory.c:454:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(pluginname, firstname, sizeof(pluginname) - strlen(pluginname) - 1); data/mlt-6.22.1/src/modules/frei0r/factory.c:454:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat(pluginname, firstname, sizeof(pluginname) - strlen(pluginname) - 1); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:267:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size += strlen( line ) + 1; data/mlt-6.22.1/src/modules/gdk/producer_pango.c:281:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( markup && markup[ strlen( markup ) - 1 ] == '\n' ) data/mlt-6.22.1/src/modules/gdk/producer_pango.c:282:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). markup[ strlen( markup ) - 1 ] = '\0'; data/mlt-6.22.1/src/modules/gdk/producer_pango.c:367:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t inbuf_n = strlen( text ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:831:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). pango_layout_set_markup( layout, markup, strlen( markup ) ); data/mlt-6.22.1/src/modules/gdk/producer_pango.c:835:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). pango_layout_set_text( layout, text, strlen( text ) ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:183:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). remaining_bytes = strlen( xml ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:185:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). remaining_bytes -= write( fd, xml + strlen( xml ) - remaining_bytes, remaining_bytes ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:251:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s, start, n ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:254:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). s = calloc( 1, strlen( filename ) + 2 ); data/mlt-6.22.1/src/modules/gdk/producer_pixbuf.c:255:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s, filename, start - filename ); data/mlt-6.22.1/src/modules/jackrack/consumer_jack.c:290:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( con_name, ports[i], sizeof( con_name )); data/mlt-6.22.1/src/modules/jackrack/factory.c:190:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( "ladpsa." ) + 21 ); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:178:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). dirlen = strlen (dir); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:189:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). file_name = g_malloc (dirlen + 1 + strlen (dir_entry->d_name) + 1); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:224:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ladspa_path = malloc (strlen (mlt_environment("MLT_APPDIR")) + strlen ("\\lib\\ladspa") + 1); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:224:68: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ladspa_path = malloc (strlen (mlt_environment("MLT_APPDIR")) + strlen ("\\lib\\ladspa") + 1); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:230:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ladspa_path = malloc( strlen (mlt_environment ("MLT_APPDIR")) + strlen ("/PlugIns/ladspa") + 1 ); data/mlt-6.22.1/src/modules/jackrack/plugin_mgr.c:230:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ladspa_path = malloc( strlen (mlt_environment ("MLT_APPDIR")) + strlen ("/PlugIns/ladspa") + 1 ); data/mlt-6.22.1/src/modules/kino/avi.cc:328:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, ix[ 0 ], indx[ 0 ] ->aIndex[ i ].dwSize - RIFF_HEADERSIZE ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:408:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, ix[ 0 ], indx[ 0 ] ->aIndex[ i ].dwSize - RIFF_HEADERSIZE ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:474:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, data, size ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:496:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, data, size ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:528:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &main_avi_header, sizeof( MainAVIHeader ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:550:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &avi_stream_header, sizeof( AVIStreamHeader ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:584:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &avi_super_index, sizeof( AVISuperIndex ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:614:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &waveformatex, sizeof( WAVEFORMATEX ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:627:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &bitmapinfo, sizeof( BITMAPINFOHEADER ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:644:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &dvinfo, sizeof( DVINFO ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:664:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &avi_std_index, sizeof( AVIStdIndex ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:697:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, idx1, entry.length ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:723:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, dmlh, entry.length ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:750:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &type, sizeof( type ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:751:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &length, sizeof( length ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:760:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &name, sizeof( name ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:1702:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &chunkID, sizeof( FOURCC ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:1705:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &size, sizeof( int ) ) ); data/mlt-6.22.1/src/modules/kino/avi.cc:1706:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, data, size ) ); data/mlt-6.22.1/src/modules/kino/endian_types.h:120:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). T read() const { data/mlt-6.22.1/src/modules/kino/endian_types.h:134:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(); data/mlt-6.22.1/src/modules/kino/endian_types.h:137:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:141:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:145:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:149:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:153:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + t); data/mlt-6.22.1/src/modules/kino/endian_types.h:157:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - t); data/mlt-6.22.1/src/modules/kino/endian_types.h:174:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). T read() const { data/mlt-6.22.1/src/modules/kino/endian_types.h:188:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(); data/mlt-6.22.1/src/modules/kino/endian_types.h:191:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:195:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:199:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:203:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - 1); data/mlt-6.22.1/src/modules/kino/endian_types.h:207:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() + t); data/mlt-6.22.1/src/modules/kino/endian_types.h:211:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). write(read() - t); data/mlt-6.22.1/src/modules/kino/filehandler.cc:410:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( read( fd, data, 4 ) < 0 ) data/mlt-6.22.1/src/modules/kino/filehandler.cc:428:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( read( fd, data, size ) > 0 ) data/mlt-6.22.1/src/modules/kino/riff.cc:463:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_if( read( fd, &type, sizeof( type ) ) != sizeof( type )); data/mlt-6.22.1/src/modules/kino/riff.cc:475:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &length, sizeof( length ) ) ); data/mlt-6.22.1/src/modules/kino/riff.cc:500:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &type, sizeof( type ) ) ); data/mlt-6.22.1/src/modules/kino/riff.cc:501:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &length, sizeof( length ) ) ); data/mlt-6.22.1/src/modules/kino/riff.cc:511:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, &name, sizeof( name ) ) ); data/mlt-6.22.1/src/modules/kino/riff.cc:547:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ( ( read( fd, &type, sizeof( type ) ) > 0 ) && data/mlt-6.22.1/src/modules/kino/riff.cc:548:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ( read( fd, &length, sizeof( length ) ) > 0 ) && data/mlt-6.22.1/src/modules/kino/riff.cc:576:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fail_neg( read( fd, data, entry.length > data_len ? data_len : entry.length ) ); data/mlt-6.22.1/src/modules/linsys/sdi_generator.c:2386:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ret = read(fd, buf, count); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:69:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant string. strncpy(ndi_con_str, "<ndi_product", NDI_CON_STR_MAX); data/mlt-6.22.1/src/modules/ndi/consumer_ndi.c:86:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (int)strlen(ndi_con_str), data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c:281:7: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( 500 ); data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c:293:6: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( (int)duration ); data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c:304:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( 1000 ); data/mlt-6.22.1/src/modules/opengl/consumer_xgl.c:494:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( 1000 ); data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:373:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp(name, "_movit.parms.float.", strlen("_movit.parms.float.")) == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:375:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bool ok = effect->set_float(name + strlen("_movit.parms.float."), data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:379:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp(name, "_movit.parms.int.", strlen("_movit.parms.int.")) == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:381:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bool ok = effect->set_int(name + strlen("_movit.parms.int."), data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:385:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp(name, "_movit.parms.vec3.", strlen("_movit.parms.vec3.")) == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:386:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcmp(name + strlen(name) - 3, "[0]") == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:390:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *index_char = name_copy + strlen(name_copy) - 2; data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:397:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bool ok = effect->set_vec3(name_copy + strlen("_movit.parms.vec3."), val); data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:401:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp(name, "_movit.parms.vec4.", strlen("_movit.parms.vec4.")) == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:402:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcmp(name + strlen(name) - 3, "[0]") == 0 && data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:406:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *index_char = name_copy + strlen(name_copy) - 2; data/mlt-6.22.1/src/modules/opengl/filter_movit_convert.cpp:415:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). bool ok = effect->set_vec4(name_copy + strlen("_movit.parms.vec4."), val); data/mlt-6.22.1/src/modules/opengl/transition_movit_mix.cpp:55:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). double mix = ( mix_str && strlen( mix_str ) > 0 ) ? data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:36:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int str_len = strlen( str ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:91:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, s, MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:91:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, s, MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:99:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, s, MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:99:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, s, MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:112:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( "filedate" ) + 1; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:116:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen( keyword ) > n ) data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:119:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:119:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:134:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( "localfiledate" ) + 1; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:138:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen( keyword ) > n ) data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:141:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:141:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:149:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( "localtime" ) + 1; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:154:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen( keyword ) > n ) data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:157:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:157:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, date, MAX_TEXT_LEN - strlen( text ) - 1); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:165:2: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( text, mlt_properties_get( producer_properties, "resource" ), MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:165:87: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( text, mlt_properties_get( producer_properties, "resource" ), MAX_TEXT_LEN - strlen( text ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:172:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( "createdate" ) + 1; data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:173:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen( keyword ) > n ) data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:175:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strftime( text, MAX_TEXT_LEN - strlen( text ) - 1, format, localtime( &creation_date ) ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:190:4: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, keyword, MAX_TEXT_LEN - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:190:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, keyword, MAX_TEXT_LEN - strlen( result ) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:231:5: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( result, frame_value, MAX_TEXT_LEN - strlen(result) - 1 ); data/mlt-6.22.1/src/modules/plus/filter_dynamictext.c:231:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat( result, frame_value, MAX_TEXT_LEN - strlen(result) - 1 ); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:51:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(str) + 1; data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:331:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (ret) len+=strlen(ret)+2+(fmt?1:0); else fail=1; data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:353:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcpy(ptr,entries[i]);ptr+=strlen(entries[i]); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:421:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (str && ret) len+=strlen(ret)+strlen(str)+2+(fmt?2+depth:0); else fail=1; data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:421:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (str && ret) len+=strlen(ret)+strlen(str)+2+(fmt?2+depth:0); else fail=1; data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:442:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcpy(ptr,names[i]);ptr+=strlen(names[i]); data/mlt-6.22.1/src/modules/plusgpl/cJSON.c:444:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcpy(ptr,entries[i]);ptr+=strlen(entries[i]); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:205:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( read( fd, section->data, 3 ) ) data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:218:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t n = read( fd, section->data + 3 + has_read, section->size ); data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:254:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && strncmp( ".file", name + strlen( name ) - 5, 5 ) == 0 ) data/mlt-6.22.1/src/modules/plusgpl/consumer_cbrts.c:256:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen( name ); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:91:8: [1] (buffer) mismatch: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. float mismatch; data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:134:71: [1] (buffer) mismatch: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. snprintf(buf, sizeof(buf), "%spattern mismatch=%0.2f%%\n", buf, cx->mismatch); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:152:53: [1] (buffer) mismatch: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. fprintf(stderr, "pattern mismatch=%0.2f%%\n", cx->mismatch); data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:735:16: [1] (buffer) mismatch: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if ( cx->mismatch < cx->gthresh ) data/mlt-6.22.1/src/modules/plusgpl/filter_telecide.c:778:24: [1] (buffer) mismatch: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. if ( (int) cx->mismatch <= cx->gthresh ) data/mlt-6.22.1/src/modules/qt/producer_qimage.c:149:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s, start, n ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:152:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). s = calloc( 1, strlen( filename ) + 2 ); data/mlt-6.22.1/src/modules/qt/producer_qimage.c:153:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( s, filename, start - filename ); data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp:482:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size += strlen( line ) + 1; data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp:496:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( tmp && tmp[ strlen( tmp ) - 1 ] == '\n' ) data/mlt-6.22.1/src/modules/qt/producer_qtext.cpp:497:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tmp[ strlen( tmp ) - 1 ] = '\0'; data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:182:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). QImage *qimage = new QImage( reader.read() ); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:405:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). qint64 remaining_bytes = strlen( xml ); data/mlt-6.22.1/src/modules/qt/qimage_wrapper.cpp:407:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). remaining_bytes -= tempFile.write( xml + strlen( xml ) - remaining_bytes, remaining_bytes ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:645:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). info.name.append( (const char *)mname, strlen(mname) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:667:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). info.name.append( (const char *)name, strlen(name) ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:1116:7: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( 5000 ); data/mlt-6.22.1/src/modules/rtaudio/RtAudio.cpp:9481:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result = read( handle->id[1], buffer, samples * formatBytes(format) ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:487:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( id ) + ( arg? strlen( arg ) + 2 : 1 ) ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:487:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = malloc( strlen( id ) + ( arg? strlen( arg ) + 2 : 1 ) ); data/mlt-6.22.1/src/modules/sox/filter_sox.c:491:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( s, " " ); data/mlt-6.22.1/src/modules/vid.stab/filter_vidstab.cpp:124:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && strlen(filename) >= strlen(results) data/mlt-6.22.1/src/modules/vid.stab/filter_vidstab.cpp:124:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && strlen(filename) >= strlen(results) data/mlt-6.22.1/src/modules/vid.stab/filter_vidstab.cpp:125:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && !strcmp( &filename[strlen(filename) - strlen(results)], results ) ) data/mlt-6.22.1/src/modules/vid.stab/filter_vidstab.cpp:125:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && !strcmp( &filename[strlen(filename) - strlen(results)], results ) ) data/mlt-6.22.1/src/modules/vorbis/producer_vorbis.c:58:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). meta->name = malloc( strlen(str) + 18 ); data/mlt-6.22.1/src/modules/xine/xineutils.h:651:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (d) = (char *) alloca(strlen((s)) + 1); \ data/mlt-6.22.1/src/modules/xine/xineutils.h:719:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int len = strlen(name) + strlen(val) + 2; data/mlt-6.22.1/src/modules/xine/xineutils.h:719:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int len = strlen(name) + strlen(val) + 2; data/mlt-6.22.1/src/modules/xml/common.c:33:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t plain_len = strlen( plain ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:215:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int rootlen = strlen( context->root ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:233:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *s = calloc( 1, strlen( value_orig ) - rootlen + 1 ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:234:7: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( s, value_orig, prefix_size ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:259:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( !strncmp( name, store, strlen( store ) ) ) data/mlt-6.22.1/src/modules/xml/consumer_xml.c:264:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int rootlen = strlen( context->root ); data/mlt-6.22.1/src/modules/xml/consumer_xml.c:701:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strlen(name) > 10 && !strncmp( name, "xml_retain", 10 ) ) data/mlt-6.22.1/src/modules/xml/producer_xml.c:99:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( s && ( n = strlen( s ) ) ) data/mlt-6.22.1/src/modules/xml/producer_xml.c:121:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int len = strlen( s ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:255:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( root ) + strlen( resource ) + 2; data/mlt-6.22.1/src/modules/xml/producer_xml.c:255:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( root ) + strlen( resource ) + 2; data/mlt-6.22.1/src/modules/xml/producer_xml.c:266:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int drive_letter = strlen(resource) > 3 && resource[1] == ':' && data/mlt-6.22.1/src/modules/xml/producer_xml.c:271:6: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat( full_resource, resource_orig, prefix_size ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:273:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( full_resource, "/" ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:305:59: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). contained = !strncmp( container_branch, service_branch, strlen( container_branch ) ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:628:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *temp = calloc( 1, strlen( service_name ) + strlen( resource ) + 2 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:628:55: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *temp = calloc( 1, strlen( service_name ) + strlen( resource ) + 2 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:630:6: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat( temp, ":" ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1474:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( value, (const char*) ch, len ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1488:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *new = calloc( 1, strlen( s ) + len + 1 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1642:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen( url ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1788:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( data && strlen( data ) >= 7 && strncmp( data, "file://", 7 ) == 0 ) data/mlt-6.22.1/src/modules/xml/producer_xml.c:1821:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *real = malloc( strlen( cwd ) + strlen( root ) + 2 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1821:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *real = malloc( strlen( cwd ) + strlen( root ) + 2 ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1863:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). xmlcontext = xmlCreateMemoryParserCtxt( data, strlen( data ) ); data/mlt-6.22.1/src/modules/xml/producer_xml.c:1900:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). xmlcontext = xmlCreateMemoryParserCtxt( data, strlen( data ) ); data/mlt-6.22.1/src/tests/test_properties/test_properties.cpp:117:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p.set("key", s, strlen(s), free); data/mlt-6.22.1/src/tests/test_properties/test_properties.cpp:120:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). QCOMPARE(size, int(strlen(value))); data/mlt-6.22.1/src/win32/strptime.c:590:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(*n1); data/mlt-6.22.1/src/win32/win32.c:34:5: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. int usleep(unsigned int useconds) data/mlt-6.22.1/src/win32/win32.c:56:9: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. return usleep( rqtp->tv_sec * 1000000 + rqtp->tv_nsec / 1000 ); data/mlt-6.22.1/src/win32/win32.c:79:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t inbuf_n = strlen( text ); data/mlt-6.22.1/src/win32/win32.c:108:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t inbuf_n = strlen( text ); ANALYSIS SUMMARY: Hits = 1301 Lines analyzed = 152672 in approximately 3.76 seconds (40578 lines/second) Physical Source Lines of Code (SLOC) = 103790 Hits@level = [0] 485 [1] 357 [2] 723 [3] 70 [4] 145 [5] 6 Hits@level+ = [0+] 1786 [1+] 1301 [2+] 944 [3+] 221 [4+] 151 [5+] 6 Hits/KSLOC@level+ = [0+] 17.2078 [1+] 12.5349 [2+] 9.09529 [3+] 2.1293 [4+] 1.45486 [5+] 0.057809 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.