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 629c6e021f9df0309976973c2b98a5d4f1faf8d0..b2da44d99f38593e84bf373cdfd2220fad3c910f 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. */