diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2021-01-08 15:55:05 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2021-09-10 20:00:06 +0900 |
commit | 538a3919d993a253e0aef14ca2fab8f65aa87634 (patch) | |
tree | 8edb5a4aa1a260d1757382e1666213fe7475a051 /util.c | |
parent | 9febab7afcff3a2b7d6a90f022ad19377f62733d (diff) |
include/ruby/internal/ctype.h: add doxygen
Must not be a bad idea to improve documents.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4815
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -97,6 +97,8 @@ NO_SANITIZE("unsigned-integer-overflow", extern unsigned long ruby_scan_digits(c unsigned long ruby_scan_digits(const char *str, ssize_t len, int base, size_t *retlen, int *overflow) { + RBIMPL_ASSERT_OR_ASSUME(base >= 2); + RBIMPL_ASSERT_OR_ASSUME(base <= 36); const char *start = str; unsigned long ret = 0, x; @@ -136,6 +138,11 @@ ruby_strtoul(const char *str, char **endptr, int base) unsigned long ret; const char *subject_found = str; + if (base < 0) { + errno = EINVAL; + return 0; + } + if (base == 1 || 36 < base) { errno = EINVAL; return 0; |