Lines Matching defs:ptr
53 static inline int xiph_lacing_16bit(const uint8_t **ptr, const uint8_t *end)
57 if (*ptr >= end)
59 val = *(*ptr)++;
61 if (*ptr >= end)
63 val += 4 * *(*ptr)++;
71 static inline int xiph_lacing_full(const uint8_t **ptr, const uint8_t *end)
77 if (*ptr >= end || val > INT_MAX - 254)
79 next = *(*ptr)++;
95 const uint8_t *ptr = buf;
104 i = *ptr++;
120 int len = xiph_lacing_16bit(&ptr, end);
121 if (len < 0 || len > end - ptr)
123 end = ptr + len;
127 frame_bytes = end - ptr;
130 pkt->frame_offset[0] = ptr - buf;
139 int len = xiph_lacing_16bit(&ptr, end);
140 if (len < 0 || 2 * len > end - ptr)
142 end = ptr + 2 * len;
146 frame_bytes = end - ptr;
149 pkt->frame_offset[0] = ptr - buf;
160 frame_bytes = xiph_lacing_16bit(&ptr, end);
165 int len = xiph_lacing_16bit(&ptr, end);
166 if (len < 0 || len + frame_bytes > end - ptr)
168 end = ptr + frame_bytes + len;
172 pkt->frame_offset[0] = ptr - buf;
176 frame_bytes = end - ptr - pkt->frame_size[0];
184 i = *ptr++;
194 padding = xiph_lacing_full(&ptr, end);
205 frame_bytes = xiph_lacing_16bit(&ptr, end);
213 int len = xiph_lacing_16bit(&ptr, end);
214 if (len < 0 || len + total_bytes + padding > end - ptr)
216 end = ptr + total_bytes + len + padding;
220 frame_bytes = end - ptr - padding;
223 pkt->frame_offset[0] = ptr - buf;
231 frame_bytes = xiph_lacing_16bit(&ptr, end);
232 if (frame_bytes < 0 || pkt->frame_count * frame_bytes + padding > end - ptr)
234 end = ptr + pkt->frame_count * frame_bytes + padding;
237 frame_bytes = end - ptr - padding;
244 pkt->frame_offset[0] = ptr - buf;