Commit f4f6eb59 by Patrick Steinhardt

global: replace remaining use of `git__strtol32`

Replace remaining uses of the `git__strtol32` function. While these uses
are all safe as the strings were either sanitized or from a trusted
source, we want to remove `git__strtol32` altogether to avoid future
misuse.

(cherry picked from commit 2613fbb2)
parent 49213f27
...@@ -328,7 +328,7 @@ int git_curl_stream_new(git_stream **out, const char *host, const char *port) ...@@ -328,7 +328,7 @@ int git_curl_stream_new(git_stream **out, const char *host, const char *port)
return -1; return -1;
} }
if ((error = git__strtol32(&iport, port, NULL, 10)) < 0) { if ((error = git__strntol32(&iport, port, strlen(port), NULL, 10)) < 0) {
git__free(st); git__free(st);
return error; return error;
} }
......
...@@ -151,7 +151,7 @@ GIT_INLINE(int) rebase_readint( ...@@ -151,7 +151,7 @@ GIT_INLINE(int) rebase_readint(
if ((error = rebase_readfile(asc_out, state_path, filename)) < 0) if ((error = rebase_readfile(asc_out, state_path, filename)) < 0)
return error; return error;
if (git__strtol32(&num, asc_out->ptr, &eol, 10) < 0 || num < 0 || *eol) { if (git__strntol32(&num, asc_out->ptr, asc_out->size, &eol, 10) < 0 || num < 0 || *eol) {
giterr_set(GITERR_REBASE, "the file '%s' contains an invalid numeric value", filename); giterr_set(GITERR_REBASE, "the file '%s' contains an invalid numeric value", filename);
return -1; return -1;
} }
......
...@@ -127,7 +127,8 @@ static int try_parse_numeric(int *n, const char *curly_braces_content) ...@@ -127,7 +127,8 @@ static int try_parse_numeric(int *n, const char *curly_braces_content)
int32_t content; int32_t content;
const char *end_ptr; const char *end_ptr;
if (git__strtol32(&content, curly_braces_content, &end_ptr, 10) < 0) if (git__strntol32(&content, curly_braces_content, strlen(curly_braces_content),
&end_ptr, 10) < 0)
return -1; return -1;
if (*end_ptr != '\0') if (*end_ptr != '\0')
...@@ -577,7 +578,7 @@ static int extract_how_many(int *n, const char *spec, size_t *pos) ...@@ -577,7 +578,7 @@ static int extract_how_many(int *n, const char *spec, size_t *pos)
} while (spec[(*pos)] == kind && kind == '~'); } while (spec[(*pos)] == kind && kind == '~');
if (git__isdigit(spec[*pos])) { if (git__isdigit(spec[*pos])) {
if (git__strtol32(&parsed, spec + *pos, &end_ptr, 10) < 0) if (git__strntol32(&parsed, spec + *pos, strlen(spec + *pos), &end_ptr, 10) < 0)
return GIT_EINVALIDSPEC; return GIT_EINVALIDSPEC;
accumulated += (parsed - 1); accumulated += (parsed - 1);
......
...@@ -391,7 +391,7 @@ static int parse_len(size_t *out, const char *line, size_t linelen) ...@@ -391,7 +391,7 @@ static int parse_len(size_t *out, const char *line, size_t linelen)
} }
} }
if ((error = git__strtol32(&len, num, &num_end, 16)) < 0) if ((error = git__strntol32(&len, num, PKT_LEN_SIZE, &num_end, 16)) < 0)
return error; return error;
if (len < 0) if (len < 0)
......
...@@ -764,7 +764,8 @@ static int winhttp_connect( ...@@ -764,7 +764,8 @@ static int winhttp_connect(
t->connection = NULL; t->connection = NULL;
/* Prepare port */ /* Prepare port */
if (git__strtol32(&port, t->connection_data.port, NULL, 10) < 0) if (git__strntol32(&port, t->connection_data.port,
strlen(t->connection_data.port), NULL, 10) < 0)
return -1; return -1;
/* Prepare host */ /* Prepare host */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment