Fixed sign-compare warnings
authorArmin Novak <armin.novak@thincast.com>
Thu, 7 Feb 2019 13:31:17 +0000 (14:31 +0100)
committerArmin Novak <armin.novak@thincast.com>
Fri, 5 Apr 2019 07:13:24 +0000 (09:13 +0200)
libfreerdp/codec/dsp_ffmpeg.c
libfreerdp/codec/h264_ffmpeg.c

index 672843c..5576f41 100644 (file)
@@ -638,17 +638,20 @@ BOOL freerdp_dsp_ffmpeg_encode(FREERDP_DSP_CONTEXT* context, const AUDIO_FORMAT*
                {
                        int inSamples = rest;
 
-                       if (inSamples + context->bufferedSamples > context->context->frame_size)
-                               inSamples = context->context->frame_size - context->bufferedSamples;
+                       if ((inSamples < 0) || (context->bufferedSamples > (UINT32)(INT_MAX - inSamples)))
+                               return FALSE;
+
+                       if (inSamples + (int)context->bufferedSamples > context->context->frame_size)
+                               inSamples = context->context->frame_size - (int)context->bufferedSamples;
 
                        rc = av_samples_copy(context->buffered->extended_data, context->resampled->extended_data,
-                                            context->bufferedSamples, copied, inSamples,
+                                            (int)context->bufferedSamples, copied, inSamples,
                                             context->context->channels, context->context->sample_fmt);
                        rest -= inSamples;
                        copied += inSamples;
-                       context->bufferedSamples += inSamples;
+                       context->bufferedSamples += (UINT32)inSamples;
 
-                       if (context->context->frame_size <= context->bufferedSamples)
+                       if (context->context->frame_size <= (int)context->bufferedSamples)
                        {
                                /* Encode in desired format. */
                                if (!ffmpeg_encode_frame(context->context, context->buffered,
index 8d75398..19faeb9 100644 (file)
@@ -120,13 +120,16 @@ static BOOL libavcodec_create_encoder(H264_CONTEXT* h264)
        if (!h264 || !h264->subsystem)
                return FALSE;
 
+       if ((h264->width > INT_MAX) || (h264->height > INT_MAX))
+               return FALSE;
+
        sys = (H264_CONTEXT_LIBAVCODEC*)h264->pSystemData;
        recreate = !sys->codecEncoder || !sys->codecEncoderContext;
 
        if (sys->codecEncoderContext)
        {
-               if ((sys->codecEncoderContext->width != h264->width) ||
-                   (sys->codecEncoderContext->height != h264->height))
+               if ((sys->codecEncoderContext->width != (int)h264->width) ||
+                   (sys->codecEncoderContext->height != (int)h264->height))
                        recreate = TRUE;
        }