]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix compile wanrings revealed by gcc 4.5 on mingw
authorSebastian Hahn <sebastian@torproject.org>
Sun, 26 Dec 2010 11:13:47 +0000 (12:13 +0100)
committerSebastian Hahn <sebastian@torproject.org>
Mon, 27 Dec 2010 08:47:41 +0000 (09:47 +0100)
changes/bug2314 [new file with mode: 0644]
src/common/crypto.c
src/or/cpuworker.c
src/or/eventdns.c
src/or/ntmain.c
src/test/test_util.c

diff --git a/changes/bug2314 b/changes/bug2314
new file mode 100644 (file)
index 0000000..41a2328
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - Fix a bunch of compile warnings revealed by mingw with gcc 4.5. Fixes
+      bug 2314.
+
index e030c56064b040d791dfd01ac93940f177960a22..52bd365d4ebc996534f0fdfdbd64f6edf98e3cdb 100644 (file)
@@ -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
   };
index ae8d69f6ec8889cb0a1de14b0c0ff683ef55fc1b..fecad1489fa627f75ba32318d7d92b9b80f8d7e6 100644 (file)
@@ -250,7 +250,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,
index b929303fd504affb0c3a282c39208187be8252ca..75a25bd0881c8fa968ebd384a711c72f476cd3c5 100644 (file)
@@ -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;
index 46e7afb78b01e90820d84b5c14dc1d6e4bd2a329..984acc783992c3323cca4f169a9c3d907efe8d03 100644 (file)
@@ -518,7 +518,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;
@@ -562,13 +562,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
@@ -577,6 +576,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,
index a14d548b8eaca9a711b846f2a9e2c6b1fdb04a74..d28fc9cafcbf1bdf22f14e1efc37aa6d46f06b91 100644 (file)
@@ -1200,6 +1200,7 @@ static void
 test_util_load_win_lib(void *ptr)
 {
   HANDLE h = load_windows_system_library("advapi32.dll");
+  (void) ptr;
 
   tt_assert(h);
  done: