diff --git a/changes/bug2314 b/changes/bug2314 new file mode 100644 index 0000000000..41a232812c --- /dev/null +++ b/changes/bug2314 @@ -0,0 +1,4 @@ + o Minor bugfixes: + - Fix a bunch of compile warnings revealed by mingw with gcc 4.5. Fixes + bug 2314. + diff --git a/src/common/crypto.c b/src/common/crypto.c index 7e4ec32686..65162618a3 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -1959,14 +1959,15 @@ seed_weak_rng(void) int crypto_seed_rng(int startup) { - char buf[ADD_ENTROPY]; int rand_poll_status = 0; /* local variables */ #ifdef MS_WINDOWS + unsigned char buf[ADD_ENTROPY]; static int provider_set = 0; static HCRYPTPROV provider; #else + char buf[ADD_ENTROPY]; static const char *filenames[] = { "/dev/srandom", "/dev/urandom", "/dev/random", NULL }; diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index d6fd1217e1..5597cad2a8 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -249,7 +249,7 @@ cpuworker_main(void *data) for (;;) { ssize_t r; - if ((r = recv(fd, &question_type, 1, 0)) != 1) { + if ((r = recv(fd, (void *)&question_type, 1, 0)) != 1) { // log_fn(LOG_ERR,"read type failed. Exiting."); if (r == 0) { log_info(LD_OR, diff --git a/src/or/eventdns.c b/src/or/eventdns.c index 4c6f60e89d..05831197d6 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -1245,7 +1245,8 @@ nameserver_read(struct nameserver *ns) { for (;;) { const int r = - (int)recvfrom(ns->socket, packet, (socklen_t)sizeof(packet), 0, + (int)recvfrom(ns->socket, (void*)packet, + (socklen_t)sizeof(packet), 0, sa, &addrlen); if (r < 0) { int err = last_error(ns->socket); @@ -1276,7 +1277,7 @@ server_port_read(struct evdns_server_port *s) { for (;;) { addrlen = (socklen_t)sizeof(struct sockaddr_storage); - r = recvfrom(s->socket, packet, sizeof(packet), 0, + r = recvfrom(s->socket, (void*)packet, sizeof(packet), 0, (struct sockaddr*) &addr, &addrlen); if (r < 0) { int err = last_error(s->socket); @@ -2012,7 +2013,8 @@ evdns_request_timeout_callback(int fd, short events, void *arg) { /* 2 other failure */ static int evdns_request_transmit_to(struct evdns_request *req, struct nameserver *server) { - const ssize_t r = send(server->socket, req->request, req->request_len, 0); + const ssize_t r = send(server->socket, (void*)req->request, + req->request_len, 0); if (r < 0) { int err = last_error(server->socket); if (error_is_eagain(err)) return 1; diff --git a/src/or/ntmain.c b/src/or/ntmain.c index c814954648..88537f3314 100644 --- a/src/or/ntmain.c +++ b/src/or/ntmain.c @@ -517,7 +517,7 @@ nt_service_install(int argc, char **argv) SERVICE_DESCRIPTIONA sdBuff; char *command; char *errmsg; - const char *user_acct = GENSRV_USERACCT; + const char *user_acct = NULL; const char *password = ""; int i; OSVERSIONINFOEX info; @@ -561,13 +561,12 @@ nt_service_install(int argc, char **argv) is_win2k_or_worse = 1; } - if (user_acct == GENSRV_USERACCT) { + if (!user_acct) { if (is_win2k_or_worse) { /* On Win2k, there is no LocalService account, so we actually need to * fall back on NULL (the system account). */ printf("Running on Win2K or earlier, so the LocalService account " "doesn't exist. Falling back to SYSTEM account.\n"); - user_acct = NULL; } else { /* Genericity is apparently _so_ last year in Redmond, where some * accounts are accounts that you can look up, and some accounts @@ -576,6 +575,7 @@ nt_service_install(int argc, char **argv) */ printf("Running on a Post-Win2K OS, so we'll assume that the " "LocalService account exists.\n"); + user_acct = GENSRV_USERACCT; } } else if (0 && service_fns.LookupAccountNameA_fn(NULL, // On this system user_acct, diff --git a/src/test/test_util.c b/src/test/test_util.c index 6959ba050b..25fd51c124 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1213,6 +1213,7 @@ static void test_util_load_win_lib(void *ptr) { HANDLE h = load_windows_system_library("advapi32.dll"); + (void) ptr; tt_assert(h); done: