Lines Matching refs:p
151 gettag(const uint8_t *c, size_t *p, size_t l) in gettag() argument
155 if (*p >= l) in gettag()
158 tag = c[(*p)++] & 0x1f; in gettag()
163 if (*p >= l) in gettag()
166 while (c[*p] >= 0x80) { in gettag()
167 tag = tag * 128 + c[(*p)++] - 0x80; in gettag()
168 if (*p >= l) in gettag()
184 getlength(const uint8_t *c, size_t *p, size_t l) in getlength() argument
190 if (*p >= l) { in getlength()
191 DPRINTF(("%s:[1] %zu >= %zu\n", __func__, *p, l)); in getlength()
200 is_onebyte_result = (c[*p] & 0x80) == 0; in getlength()
201 digits = c[(*p)++] & 0x7f; in getlength()
202 if (*p + digits >= l) { in getlength()
203 DPRINTF(("%s:[2] %zu + %u >= %zu\n", __func__, *p, digits, l)); in getlength()
216 len = (len << 8) | c[(*p)++]; in getlength()
218 if (len > UINT32_MAX - *p || *p + len > l) { in getlength()
220 __func__, *p, len, l)); in getlength()
398 const uint8_t *p = v, *ep = p + l; in printdata() local
402 while (p + x < ep) { in printdata()
404 uint8_t c = getclass(p[x]); in printdata()
405 uint8_t t = gettype(p[x]); in printdata()
409 uint32_t tag = gettag(p, &x, ep - p + x); in printdata()
410 if (p + x >= ep) in printdata()
412 uint32_t len = getlength(p, &x, ep - p + x); in printdata()
418 q = p + x; in printdata()
419 if (p + len > ep) in printdata()
423 printdata(level + 1, p, x, len + x); in printdata()
434 void *p; in main() local
441 if ((p = mmap(NULL, l, PROT_READ, MAP_FILE, fd, 0)) == MAP_FAILED) in main()
444 printdata(0, p, 0, l); in main()
445 munmap(p, l); in main()