Lines Matching refs:nptr

582 static inline void FixRealStrtolEndptr(const char *nptr, char **endptr) {
584 if (nptr == *endptr) {
588 while (IsSpace(*nptr)) nptr++;
589 if (*nptr == '+' || *nptr == '-') nptr++;
590 *endptr = (char*)nptr;
592 CHECK(*endptr >= nptr);
595 INTERCEPTOR(long, strtol, const char *nptr, // NOLINT
599 return REAL(strtol)(nptr, endptr, base);
602 long result = REAL(strtol)(nptr, &real_endptr, base); // NOLINT
607 FixRealStrtolEndptr(nptr, &real_endptr);
608 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
613 INTERCEPTOR(int, atoi, const char *nptr) {
615 if (UNLIKELY(!asan_inited)) return REAL(atoi)(nptr);
619 return REAL(atoi)(nptr);
622 // "man atoi" tells that behavior of atoi(nptr) is the same as
623 // strtol(nptr, 0, 10), i.e. it sets errno to ERANGE if the
626 int result = REAL(strtol)(nptr, &real_endptr, 10);
627 FixRealStrtolEndptr(nptr, &real_endptr);
628 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
632 INTERCEPTOR(long, atol, const char *nptr) { // NOLINT
634 if (UNLIKELY(!asan_inited)) return REAL(atol)(nptr);
638 return REAL(atol)(nptr);
641 long result = REAL(strtol)(nptr, &real_endptr, 10); // NOLINT
642 FixRealStrtolEndptr(nptr, &real_endptr);
643 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
648 INTERCEPTOR(long long, strtoll, const char *nptr, // NOLINT
652 return REAL(strtoll)(nptr, endptr, base);
655 long long result = REAL(strtoll)(nptr, &real_endptr, base); // NOLINT
663 FixRealStrtolEndptr(nptr, &real_endptr);
664 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);
669 INTERCEPTOR(long long, atoll, const char *nptr) { // NOLINT
672 return REAL(atoll)(nptr);
675 long long result = REAL(strtoll)(nptr, &real_endptr, 10); // NOLINT
676 FixRealStrtolEndptr(nptr, &real_endptr);
677 ASAN_READ_RANGE(nptr, (real_endptr - nptr) + 1);