Home | History | Annotate | Download | only in asan

Lines Matching refs:nptr

553 static inline void FixRealStrtolEndptr(const char *nptr, char **endptr) {
555 if (nptr == *endptr) {
559 while (IsSpace(*nptr)) nptr++;
560 if (*nptr == '+' || *nptr == '-') nptr++;
561 *endptr = (char*)nptr;
563 CHECK(*endptr >= nptr);
566 INTERCEPTOR(long, strtol, const char *nptr, // NOLINT
570 return REAL(strtol)(nptr, endptr, base);
573 long result = REAL(strtol)(nptr, &real_endptr, base); // NOLINT
578 FixRealStrtolEndptr(nptr, &real_endptr);
579 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
584 INTERCEPTOR(int, atoi, const char *nptr) {
586 if (!asan_inited) return REAL(atoi)(nptr);
590 return REAL(atoi)(nptr);
593 // "man atoi" tells that behavior of atoi(nptr) is the same as
594 // strtol(nptr, 0, 10), i.e. it sets errno to ERANGE if the
597 int result = REAL(strtol)(nptr, &real_endptr, 10);
598 FixRealStrtolEndptr(nptr, &real_endptr);
599 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
603 INTERCEPTOR(long, atol, const char *nptr) { // NOLINT
605 if (!asan_inited) return REAL(atol)(nptr);
609 return REAL(atol)(nptr);
612 long result = REAL(strtol)(nptr, &real_endptr, 10); // NOLINT
613 FixRealStrtolEndptr(nptr, &real_endptr);
614 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
619 INTERCEPTOR(long long, strtoll, const char *nptr, // NOLINT
623 return REAL(strtoll)(nptr, endptr, base);
626 long long result = REAL(strtoll)(nptr, &real_endptr, base); // NOLINT
634 FixRealStrtolEndptr(nptr, &real_endptr);
635 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
640 INTERCEPTOR(long long, atoll, const char *nptr) { // NOLINT
643 return REAL(atoll)(nptr);
646 long long result = REAL(strtoll)(nptr, &real_endptr, 10); // NOLINT
647 FixRealStrtolEndptr(nptr, &real_endptr);
648 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);