summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Dachary <loic-test4@dachary.org>2017-04-10 07:51:10 +0000
committerLoic Dachary <loic-test4@dachary.org>2017-04-10 07:51:10 +0000
commita6862d10c9db467148f20eef2c6445ac9afd94d8 (patch)
tree5a13169b93b6e517184fbdf39033098b329d68a6
parentea75cdffe1b8902bf02b4c44efb405bfb92b3e4f (diff)
parent2700e1b9ae066215b7ccb780078b32da88c9716c (diff)
downloadgf-complete-a6862d10c9db467148f20eef2c6445ac9afd94d8.tar.gz
Merge branch 'wip-signed-integer-overflow-cppcheck' into 'master'HEADmaster
Wip signed integer overflow cppcheck Fix for cppcheck signed integer overflow errors See merge request !21
-rw-r--r--include/gf_w32.h2
-rw-r--r--src/gf_general.c2
-rw-r--r--src/gf_w128.c2
-rw-r--r--src/gf_w32.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/include/gf_w32.h b/include/gf_w32.h
index 3396402..7734f30 100644
--- a/include/gf_w32.h
+++ b/include/gf_w32.h
@@ -14,7 +14,7 @@
#include <stdint.h>
#define GF_FIELD_WIDTH (32)
-#define GF_FIRST_BIT (1 << 31)
+#define GF_FIRST_BIT ((gf_val_32_t)1 << 31)
#define GF_BASE_FIELD_WIDTH (16)
#define GF_BASE_FIELD_SIZE (1 << GF_BASE_FIELD_WIDTH)
diff --git a/src/gf_general.c b/src/gf_general.c
index 7f187b5..769f7a0 100644
--- a/src/gf_general.c
+++ b/src/gf_general.c
@@ -137,7 +137,7 @@ int gf_general_s_to_val(gf_general_t *v, int w, char *s, int hex)
}
if (w == 32) return 1;
if (w == 31) {
- if (v->w32 & (1 << 31)) return 0;
+ if (v->w32 & ((gf_val_32_t)1 << 31)) return 0;
return 1;
}
if (v->w32 & ~((1 << w)-1)) return 0;
diff --git a/src/gf_w128.c b/src/gf_w128.c
index 74f72e8..3bc2d65 100644
--- a/src/gf_w128.c
+++ b/src/gf_w128.c
@@ -413,7 +413,7 @@ gf_w128_sse_bytwo_p_multiply(gf_t *gf, gf_val_128_t a128, gf_val_128_t b128, gf_
}
amask = _mm_srli_epi64(amask, 1); /*so does this one, but we can just replace after loop*/
}
- amask = _mm_insert_epi32(amask, 1 << 31, 0x1);
+ amask = _mm_insert_epi32(amask, (gf_val_32_t)1 << 31, 0x1);
for (i = 64; i < 128; i++) {
topbit = (_mm_extract_epi32(prod, 0x3) & pmask);
middlebit = (_mm_extract_epi32(prod, 0x1) & pmask);
diff --git a/src/gf_w32.c b/src/gf_w32.c
index 92dba87..976b68b 100644
--- a/src/gf_w32.c
+++ b/src/gf_w32.c
@@ -1079,7 +1079,7 @@ gf_w32_bytwo_p_sse_multiply_region(gf_t *gf, void *src, void *dest, gf_val_32_t
vrev = 0;
for (i = 0; i < 32; i++) {
vrev <<= 1;
- if (!(val & (1 << i))) vrev |= 1;
+ if (!(val & ((gf_val_32_t)1 << i))) vrev |= 1;
}
s8 = (uint8_t *) rd.s_start;