diff options
-rw-r--r-- | lib/http_ntlm.c | 2 | ||||
-rw-r--r-- | tests/server/fake_ntlm.c | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c index 77f678630..5e164f2b7 100644 --- a/lib/http_ntlm.c +++ b/lib/http_ntlm.c @@ -834,7 +834,7 @@ static CURLcode sso_ntlm_response(struct connectdata *conn, size_t len_in = strlen(input), len_out = sizeof(buf); while(len_in > 0) { - int written = write(conn->fd_helper, input, len_in); + ssize_t written = write(conn->fd_helper, input, len_in); if(written == -1) { /* Interrupted by a signal, retry it */ if(errno == EINTR) diff --git a/tests/server/fake_ntlm.c b/tests/server/fake_ntlm.c index 9ce8436ef..686264b1e 100644 --- a/tests/server/fake_ntlm.c +++ b/tests/server/fake_ntlm.c @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) char *type1_input = NULL, *type3_input = NULL; char *type1_output = NULL, *type3_output = NULL; size_t size = 0; - int testnum; + long testnum; const char *env; int arg = 1; char *helper_user = (char *)"unknown"; @@ -98,7 +98,13 @@ int main(int argc, char *argv[]) env = getenv("NTLM_AUTH_TESTNUM"); if (env) { - testnum = strtoul(env, NULL, 10); + char *endptr; + long lnum = strtol(env, &endptr, 10); + if((endptr != env + strlen(env)) || (lnum < 1L)) { + logmsg("Test number not valid in NTLM_AUTH_TESTNUM"); + exit(1); + } + testnum = lnum; } else { logmsg("Test number not specified in NTLM_AUTH_TESTNUM"); exit(1); |