diff --git a/libopendkim/base32.c b/libopendkim/base32.c index f0ca9cd8..b17b325f 100644 --- a/libopendkim/base32.c +++ b/libopendkim/base32.c @@ -69,7 +69,7 @@ dkim_base32_encode(char *buf, size_t *buflen, const void *data, size_t size) buf[iout] = cb32[((udata[iin] & 0xf8) >> 3)]; iout++; - if (iout >= *buflen || iin >= size) + if (iout >= *buflen) { iout--; /* previous char is useless */ break; @@ -86,7 +86,7 @@ dkim_base32_encode(char *buf, size_t *buflen, const void *data, size_t size) buf[iout] = cb32[((udata[iin] & 0x3e) >> 1)]; iout++; - if (iout >= *buflen || iin >= size) + if (iout >= *buflen) { iout--; /* previous char is useless */ break; @@ -110,7 +110,7 @@ dkim_base32_encode(char *buf, size_t *buflen, const void *data, size_t size) buf[iout] = cb32[((udata[iin] & 0x7c) >> 2)]; iout++; - if (iout >= *buflen || iin >= size) + if (iout >= *buflen) { iout--; /* previous char is useless */ break; diff --git a/libopendkim/dkim-test.c b/libopendkim/dkim-test.c index e228d232..e7684565 100644 --- a/libopendkim/dkim-test.c +++ b/libopendkim/dkim-test.c @@ -507,7 +507,7 @@ dkim_test_key2(DKIM_LIB *lib, char *selector, char *domain, { status = 1; snprintf(err, errlen, - "key do not match: local = %zd, remote = %zd", + "keys do not match: local = %zu, remote = %zu", outkey_len, sig->sig_keylen); } diff --git a/libopendkim/dkim.c b/libopendkim/dkim.c index 542837fd..6e180141 100644 --- a/libopendkim/dkim.c +++ b/libopendkim/dkim.c @@ -872,7 +872,7 @@ dkim_process_set(DKIM *dkim, dkim_set_t type, u_char *str, size_t len, if (value != NULL) { uint64_t tmp = 0; - char *end; + char *end = NULL; errno = 0; @@ -909,7 +909,7 @@ dkim_process_set(DKIM *dkim, dkim_set_t type, u_char *str, size_t len, if (value != NULL) { uint64_t tmp = 0; - char *end; + char *end = NULL; errno = 0; @@ -5425,6 +5425,7 @@ dkim_sign(DKIM_LIB *libhandle, const unsigned char *id, void *memclosure, if (strncmp((char *) secretkey, "MII", 3) == 0) { size_t b64len; + int declen; b64len = strlen((char *) secretkey); @@ -5437,15 +5438,16 @@ dkim_sign(DKIM_LIB *libhandle, const unsigned char *id, void *memclosure, return NULL; } - new->dkim_keylen = dkim_base64_decode(secretkey, - new->dkim_key, - b64len); - if (new->dkim_keylen <= 0) + declen = dkim_base64_decode(secretkey, new->dkim_key, + b64len); + if (declen <= 0) { *statp = DKIM_STAT_NORESOURCE; dkim_free(new); return NULL; } + + new->dkim_keylen = (size_t) declen; } else { @@ -7541,14 +7543,12 @@ dkim_getsighdr_d(DKIM *dkim, size_t initial, u_char **buf, size_t *buflen) } else { - if (!first) - { - dkim_dstring_cat1(dkim->dkim_hdrbuf, - ' '); - len += 1; - } + /* "first" is always FALSE here: this branch is + only reached when the "len == 0 || first" + branch above was not taken */ + dkim_dstring_cat1(dkim->dkim_hdrbuf, ' '); + len += 1; - first = FALSE; dkim_dstring_catn(dkim->dkim_hdrbuf, (u_char *) pv, pvlen); diff --git a/librbl/rbl.c b/librbl/rbl.c index 3b675c34..b3992bdb 100644 --- a/librbl/rbl.c +++ b/librbl/rbl.c @@ -183,16 +183,8 @@ rbl_res_query(void *srv, int type, unsigned char *query, unsigned char *buf, if (rq == NULL) return RBL_DNS_ERROR; - if (ret == -1) - { - rq->rq_error = errno; - rq->rq_buflen = 0; - } - else - { - rq->rq_error = 0; - rq->rq_buflen = (size_t) ret; - } + rq->rq_error = 0; + rq->rq_buflen = (size_t) ret; *qh = (void *) rq; diff --git a/libvbr/vbr.c b/libvbr/vbr.c index 6580ce3a..e250f307 100644 --- a/libvbr/vbr.c +++ b/libvbr/vbr.c @@ -487,16 +487,8 @@ vbr_res_query(void *srv, int type, unsigned char *query, unsigned char *buf, if (vq == NULL) return VBR_DNS_ERROR; - if (ret == -1) - { - vq->vq_error = errno; - vq->vq_buflen = 0; - } - else - { - vq->vq_error = 0; - vq->vq_buflen = (size_t) ret; - } + vq->vq_error = 0; + vq->vq_buflen = (size_t) ret; *qh = (void *) vq;