]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
sbuff: Fix advance on integer parsing
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 Jun 2020 19:16:05 +0000 (14:16 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 28 Jun 2020 19:16:05 +0000 (14:16 -0500)
src/lib/util/sbuff.c

index 89a04bf9f30f0f8257371624dc4575911ae8b757..13a7fb42cf981555abad9ea5617507a735f679a7 100644 (file)
@@ -430,7 +430,7 @@ size_t fr_sbuff_parse_##_name(fr_sbuff_parse_error_t *err, _type *out, fr_sbuff_
                if (err) *err = FR_SBUFF_PARSE_ERROR_NOT_FOUND; \
                *out = (_type)(num); \
        } \
-       fr_sbuff_set(in, &our_in); \
+       fr_sbuff_advance(in, end - buff); /* Advance by the length strtoll gives us */ \
        return end - buff; \
 }
 
@@ -467,7 +467,7 @@ size_t fr_sbuff_parse_##_name(fr_sbuff_parse_error_t *err, _type *out, fr_sbuff_
                if (err) *err = FR_SBUFF_PARSE_ERROR_NOT_FOUND; \
                *out = (_type)(num); \
        } \
-       fr_sbuff_set(in, &our_in); \
+       fr_sbuff_advance(in, end - buff); /* Advance by the length strtoull gives us */ \
        return end - buff; \
 }