]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
fix undefined shift operations on signed integers
authorMiroslav Lichvar <mlichvar@redhat.com>
Thu, 17 Dec 2015 11:08:57 +0000 (12:08 +0100)
committerMiroslav Lichvar <mlichvar@redhat.com>
Thu, 17 Dec 2015 11:09:45 +0000 (12:09 +0100)
addrfilt.c
conf.c
refclock.c

index c998b0cd6a9c2a4293202423253007c38c6d0ee1..8ed15749fd86a8f9e8c1a7bd12f1b926701165e2 100644 (file)
@@ -62,7 +62,7 @@ split_ip6(IPAddr *ip, uint32_t *dst)
   int i;
 
   for (i = 0; i < 4; i++)
-    dst[i] = ip->addr.in6[i * 4 + 0] << 24 |
+    dst[i] = (uint32_t)ip->addr.in6[i * 4 + 0] << 24 |
              ip->addr.in6[i * 4 + 1] << 16 |
              ip->addr.in6[i * 4 + 2] << 8 |
              ip->addr.in6[i * 4 + 3];
diff --git a/conf.c b/conf.c
index 230199339f044108d03a48d7f87659cbc6fdfc85..2a9227353a0b5c38b73874774f53e05c8c8908af 100644 (file)
--- a/conf.c
+++ b/conf.c
@@ -700,11 +700,11 @@ parse_refclock(char *line)
     if (!strcasecmp(cmd, "refid")) {
       if (sscanf(line, "%4s%n", (char *)ref, &n) != 1)
         break;
-      ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
+      ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
     } else if (!strcasecmp(cmd, "lock")) {
       if (sscanf(line, "%4s%n", (char *)ref, &n) != 1)
         break;
-      lock_ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
+      lock_ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
     } else if (!strcasecmp(cmd, "poll")) {
       if (sscanf(line, "%d%n", &poll, &n) != 1) {
         break;
index 26193f6e6e4fd6207388dd115acad76777526cb2..8791d43d04d28b2c0a201e3e4f6c4d04b7d6e245 100644 (file)
@@ -233,7 +233,7 @@ RCL_AddRefclock(RefclockParameters *params)
     if (index >= 10)
       ref[2] = (index / 10) % 10 + '0';
 
-    inst->ref_id = ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
+    inst->ref_id = (uint32_t)ref[0] << 24 | ref[1] << 16 | ref[2] << 8 | ref[3];
   }
 
   if (inst->driver->poll) {