gstav1parse: fixup various possible logical errors
authorCamilo Celis Guzman <camilo@pexip.com>
Mon, 18 Apr 2022 08:50:22 +0000 (17:50 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 19 Apr 2022 18:36:38 +0000 (18:36 +0000)
Found via an analyzed build for Clang. Specifically we had:

gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value

Also a couple of false-positives:

gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230>

subprojects/gst-plugins-bad/gst/videoparsers/gstav1parse.c

index e80656b..20656e6 100644 (file)
@@ -1558,7 +1558,7 @@ gst_av1_parse_handle_to_small_and_equal_align (GstBaseParse * parse,
   GstMapInfo map_info;
   GstAV1OBU obu;
   GstFlowReturn ret = GST_FLOW_OK;
-  GstAV1ParserResult res;
+  GstAV1ParserResult res = GST_AV1_PARSER_INVALID_OPERATION;
   GstBuffer *buffer = gst_buffer_ref (frame->buffer);
   guint32 total_consumed, consumed;
   gboolean frame_complete;
@@ -1789,7 +1789,7 @@ gst_av1_parse_detect_stream_format (GstBaseParse * parse,
   GstAV1Parse *self = GST_AV1_PARSE (parse);
   GstMapInfo map_info;
   GstAV1OBU obu;
-  GstAV1ParserResult res;
+  GstAV1ParserResult res = GST_AV1_PARSER_INVALID_OPERATION;
   GstBuffer *buffer = gst_buffer_ref (frame->buffer);
   gboolean got_seq, got_frame;
   gboolean frame_complete;