X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=tools%2Fserver.c;h=983fbe619f36c29181697936f8d7708aaa273ac4;hp=a63198244002b0a07b0968b96b6f57e8982fae37;hb=16d0864818cdf24e4fb1d722fe71456c03e3fc17;hpb=9dc3c9b61d0e8446ff8b8b7a873bbdc3f1c033fe diff --git a/tools/server.c b/tools/server.c index a631982..983fbe6 100644 --- a/tools/server.c +++ b/tools/server.c @@ -87,7 +87,9 @@ host_bind(const char *host, const char *port, int verbose) sa_len = p->ai_addrlen; } if (addr != NULL) { - inet_ntop(p->ai_family, addr, tmp, sizeof tmp); + if (!inet_ntop(p->ai_family, addr, tmp, sizeof tmp)) { + strcpy(tmp, ""); + } } else { sprintf(tmp, "", (int)sa->sa_family); @@ -637,7 +639,11 @@ do_server(int argc, char *argv[]) usage_server(); goto server_exit_error; } - iobuf_len = strtoul(arg, 0, 10); + iobuf_len = parse_size(arg); + if (iobuf_len == (size_t)-1) { + usage_server(); + goto server_exit_error; + } } else if (eqstr(arg, "-cache")) { if (++ i >= argc) { fprintf(stderr, @@ -652,7 +658,11 @@ do_server(int argc, char *argv[]) usage_server(); goto server_exit_error; } - cache_len = strtoul(arg, 0, 10); + cache_len = parse_size(arg); + if (cache_len == (size_t)-1) { + usage_server(); + goto server_exit_error; + } } else if (eqstr(arg, "-cert")) { if (++ i >= argc) { fprintf(stderr,