rtp: value truncated too short creates dead code
authorLuis de Bethencourt <luis.bg@samsung.com>
Thu, 8 Jan 2015 15:36:04 +0000 (15:36 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 16 Feb 2016 00:24:40 +0000 (00:24 +0000)
type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
never be True if the value is maximum 31 after the truncation.
The intention of the code was to truncate to 0-63.

gst/rtp/gstrtph265pay.c

index 629c6e0..b2da44d 100644 (file)
@@ -821,7 +821,7 @@ gst_rtp_h265_pay_decode_nal (GstRtpH265Pay * payloader,
   GST_DEBUG ("NAL payload len=%u", size);
 
   header = data[0];
-  type = header & 0x1f;
+  type = header & 0x3f;
 
   /* We record the timestamp of the last SPS/PPS so
    * that we can insert them at regular intervals and when needed. */