summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Dachary <loic-test4@dachary.org>2015-09-02 16:05:33 +0000
committerLoic Dachary <loic-test4@dachary.org>2015-09-02 16:05:33 +0000
commitaf22f913ed60310516f6ab4c08389884b45338a4 (patch)
treef1145b294afc7dbe72b0482e94f7f0bff5026e01
parent5f31e2719d4b66f1d5354b7424a81bf3423de7b7 (diff)
parent2f6db512fb83f2d8e84e8097ebd2595c6ec8f8eb (diff)
downloadgf-complete-af22f913ed60310516f6ab4c08389884b45338a4.tar.gz
Merge branch 'wip-da-SCA-coverity' into 'master'
Fix issues found by Coverity in the Ceph project Remove dead code and fix potential integer overflow issues See merge request !12
-rw-r--r--src/gf_w128.c5
-rw-r--r--src/gf_w64.c15
2 files changed, 5 insertions, 15 deletions
diff --git a/src/gf_w128.c b/src/gf_w128.c
index 190f6b0..81999cb 100644
--- a/src/gf_w128.c
+++ b/src/gf_w128.c
@@ -1724,7 +1724,6 @@ int gf_w128_scratch_size(int mult_type, int region_type, int divide_type, int ar
int gf_w128_init(gf_t *gf)
{
gf_internal_t *h;
- int no_default_flag = 0;
h = (gf_internal_t *) gf->scratch;
@@ -1737,10 +1736,6 @@ int gf_w128_init(gf_t *gf)
} else {
h->prim_poly = 0x87; /* Omitting the leftmost 1 as in w=32 */
}
- if (no_default_flag == 1) {
- fprintf(stderr,"Code contains no default irreducible polynomial for given base field\n");
- return 0;
- }
}
gf->multiply.w128 = NULL;
diff --git a/src/gf_w64.c b/src/gf_w64.c
index 6e75f5e..de231db 100644
--- a/src/gf_w64.c
+++ b/src/gf_w64.c
@@ -767,7 +767,7 @@ gf_w64_group_multiply(gf_t *gf, gf_val_64_t a, gf_val_64_t b)
gd = (struct gf_w64_group_data *) h->private;
gf_w64_group_set_shift_tables(gd->shift, b, h);
- mask = ((1 << g_s) - 1);
+ mask = (((uint64_t)1 << g_s) - 1);
top = 0;
bot = gd->shift[a&mask];
a >>= g_s;
@@ -791,7 +791,7 @@ gf_w64_group_multiply(gf_t *gf, gf_val_64_t a, gf_val_64_t b)
lshift = ((lshift-1) / g_r) * g_r;
rshift = 64 - lshift;
- mask = (1 << g_r) - 1;
+ mask = ((uint64_t)1 << g_r) - 1;
while (lshift >= 0) {
tp = gd->reduce[(top >> lshift) & mask];
top ^= (tp >> rshift);
@@ -840,8 +840,8 @@ void gf_w64_group_multiply_region(gf_t *gf, void *src, void *dest, gf_val_64_t v
d64 = (uint64_t *) rd.d_start;
dtop = (uint64_t *) rd.d_top;
- smask = (1 << g_s) - 1;
- rmask = (1 << g_r) - 1;
+ smask = ((uint64_t)1 << g_s) - 1;
+ rmask = ((uint64_t)1 << g_r) - 1;
while (d64 < dtop) {
a64 = *s64;
@@ -994,7 +994,7 @@ int gf_w64_group_init(gf_t *gf)
gd->reduce = gd->shift + (1 << g_s);
gd->reduce[0] = 0;
- for (i = 0; i < (1 << g_r); i++) {
+ for (i = 0; i < ((uint64_t)1 << g_r); i++) {
p = 0;
index = 0;
for (j = 0; j < g_r; j++) {
@@ -2153,7 +2153,6 @@ int gf_w64_scratch_size(int mult_type, int region_type, int divide_type, int arg
int gf_w64_init(gf_t *gf)
{
gf_internal_t *h;
- int no_default_flag = 0;
h = (gf_internal_t *) gf->scratch;
@@ -2168,10 +2167,6 @@ int gf_w64_init(gf_t *gf)
} else {
h->prim_poly = 0x1b;
}
- if (no_default_flag == 1) {
- fprintf(stderr,"Code contains no default irreducible polynomial for given base field\n");
- return 0;
- }
}
gf->multiply.w64 = NULL;