]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
fix compiler warnings
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 6 Oct 2020 06:59:56 +0000 (08:59 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Wed, 7 Oct 2020 15:27:32 +0000 (17:27 +0200)
Fix -Wchar-subscripts warnings on NetBSD and warnings about pointer
aliasing and uninitialized values with an older compiler.

client.c
clientlog.c
ntp_sources.c
nts_ke_client.c
socket.c

index e136181e2cdbca58351b7dd64b8c7f5077aa0afe..f365f39858006338dc54e50735be15fe37c5e1ed 100644 (file)
--- a/client.c
+++ b/client.c
@@ -2030,7 +2030,7 @@ get_source_name(IPAddr *ip_addr, char *buf, int size)
 
   /* Make sure the name is printable */
   for (i = 0; i < size && buf[i] != '\0'; i++) {
-    if (!isgraph(buf[i]))
+    if (!isgraph((unsigned char)buf[i]))
       return 0;
   }
 
index d19c54e429ffa9912b1adcf29a7f9c242bbd4c7a..5de96838a6c583561dc05fd55a79f0b859864b9c 100644 (file)
@@ -169,7 +169,7 @@ compare_total_hits(Record *x, Record *y)
 static Record *
 get_record(IPAddr *ip)
 {
-  uint32_t last_hit, oldest_hit = 0;
+  uint32_t last_hit = 0, oldest_hit = 0;
   Record *record, *oldest_record;
   unsigned int first, i, j;
 
index 6e16e124f48b3aa961d9467dbb189c174a2b2356..122f5e4801ddd9696139222eb2092af1a188381c 100644 (file)
@@ -671,7 +671,7 @@ NSR_AddSourceByName(char *name, int port, int pool, NTP_Source_Type type,
 
   /* Make sure the name is at least printable and has no spaces */
   for (i = 0; name[i] != '\0'; i++) {
-    if (!isgraph(name[i]))
+    if (!isgraph((unsigned char)name[i]))
       return NSR_InvalidName;
   }
 
index fbde1ddfb0842e0eb77d1e4ccc5c07a0d62a1e94..7eec3e278016dcd3ee42843235495b95c44cdcd1 100644 (file)
@@ -196,7 +196,7 @@ process_response(NKC_Instance inst)
         inst->server_name[length] = '\0';
 
         /* Make sure the name is printable and has no spaces */
-        for (i = 0; i < length && isgraph(inst->server_name[i]); i++)
+        for (i = 0; i < length && isgraph((unsigned char)inst->server_name[i]); i++)
           ;
         if (i != length) {
           DEBUG_LOG("Invalid server name");
index e67b33139427887054c38b89775ef16ef24398d4..355122891b3fe9521f8e9e3d57406fc0015a0531 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -884,14 +884,16 @@ process_header(struct msghdr *msg, int msg_length, int sock_fd, int flags,
 
     if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) {
       if (!(flags & SCK_FLAG_MSG_DESCRIPTOR) || cmsg->cmsg_len != CMSG_LEN(sizeof (int))) {
-        unsigned int i;
+        int i, fd;
 
         DEBUG_LOG("Unexpected SCM_RIGHTS");
-        for (i = 0; CMSG_LEN((i + 1) * sizeof (int)) <= cmsg->cmsg_len; i++)
-          close(((int *)CMSG_DATA(cmsg))[i]);
+        for (i = 0; CMSG_LEN((i + 1) * sizeof (int)) <= cmsg->cmsg_len; i++) {
+          memcpy(&fd, (char *)CMSG_DATA(cmsg) + i * sizeof (int), sizeof (fd));
+          close(fd);
+        }
         r = 0;
       } else {
-        message->descriptor = *(int *)CMSG_DATA(cmsg);
+        memcpy(&message->descriptor, CMSG_DATA(cmsg), sizeof (message->descriptor));
       }
     }
   }