diff --git a/sys/base64/base64.c b/sys/base64/base64.c index 869ca668ad..849ba8ca21 100644 --- a/sys/base64/base64.c +++ b/sys/base64/base64.c @@ -108,10 +108,6 @@ int base64_encode(unsigned char *data_in, size_t data_in_size, \ /* The last character is not finished yet */ njump++; - if (njump == 4) { - nNum = (tmpval >> (2 * njump)); - } - nNum = nLst << (8 - 2 * njump); base64_out[iterate_base64_buffer++] = getsymbol(nNum); diff --git a/sys/bloom/bloom.c b/sys/bloom/bloom.c index 3ad77ffa90..b393aa02f9 100644 --- a/sys/bloom/bloom.c +++ b/sys/bloom/bloom.c @@ -35,7 +35,7 @@ bloom_t *bloom_new(size_t size, size_t num_hashes, ...) } /* Allocate Bloom array */ - if (!(bloom->a = calloc(ROUND(size), sizeof(char)))) { + if (!(bloom->a = calloc(ROUND(size), sizeof(uint8_t)))) { free(bloom); return NULL; } diff --git a/sys/crypto/modes/ccm.c b/sys/crypto/modes/ccm.c index 8c0a909392..a9ccc9a408 100644 --- a/sys/crypto/modes/ccm.c +++ b/sys/crypto/modes/ccm.c @@ -40,7 +40,7 @@ int ccm_compute_cbc_mac(cipher_t* cipher, uint8_t iv[16], uint8_t offset, block_size, mac_enc[16] = {0}; block_size = cipher_get_block_size(cipher); - memcpy(mac, iv, 16); + memmove(mac, iv, 16); offset = 0; do { uint8_t block_size_input = (length - offset > block_size) ? diff --git a/sys/embunit/stdImpl.c b/sys/embunit/stdImpl.c index 5068be8a36..8a45259be1 100644 --- a/sys/embunit/stdImpl.c +++ b/sys/embunit/stdImpl.c @@ -103,17 +103,18 @@ int stdimpl_strcmp(const char *s1, const char *s2) if (s1 == s2) { return 0; } - else if (s1 && !s2) { + else if (s1 == NULL) { + return -1; + } + else if (s2 == NULL) { return +1; } - else if (!s1 && s2) { - return -1; - } else { - char c1,c2; + else { + char c1, c2; do { c1 = *s1++; c2 = *s2++; - } while (c1 && c2 && (c1==c2)); + } while ((c1 == c2) && (c1 != '\0')); return c1 - c2; } } diff --git a/sys/ubjson/ubjson-read.c b/sys/ubjson/ubjson-read.c index d2886526a4..f3de9a3eec 100644 --- a/sys/ubjson/ubjson-read.c +++ b/sys/ubjson/ubjson-read.c @@ -104,6 +104,8 @@ ssize_t ubjson_get_i32(ubjson_cookie_t *restrict cookie, ssize_t content, int32_ case UBJSON_INT32_INT32: *dest = (int32_t) byteorder_ntohl(value.i32); break; + default: + return -1; } } return result; @@ -134,7 +136,9 @@ static ubjson_read_callback_result_t _ubjson_read_length(ubjson_cookie_t *restri if (type == UBJSON_TYPE_INT32) { int32_t len32; read = ubjson_get_i32(cookie, content, &len32); - len64 = len32; + if (read > 0) { + len64 = len32; + } } else if (type == UBJSON_TYPE_INT64) { read = ubjson_get_i64(cookie, content, &len64); diff --git a/tests/unittests/tests-cbor/tests-cbor.c b/tests/unittests/tests-cbor/tests-cbor.c index a66fa89c75..557bd53cf1 100644 --- a/tests/unittests/tests-cbor/tests-cbor.c +++ b/tests/unittests/tests-cbor/tests-cbor.c @@ -351,6 +351,7 @@ static void test_array(void) TEST_ASSERT_EQUAL_INT(1, i); offset += cbor_deserialize_int(&stream, offset, &i); TEST_ASSERT_EQUAL_INT(2, i); + TEST_ASSERT_EQUAL_INT(sizeof(data), offset); } cbor_clear(&stream); @@ -374,6 +375,7 @@ static void test_array(void) char buffer[1024]; offset += cbor_deserialize_byte_string(&stream, offset, buffer, sizeof(buffer)); TEST_ASSERT_EQUAL_STRING("a", &(buffer[0])); + TEST_ASSERT_EQUAL_INT(sizeof(data), offset); } } @@ -442,6 +444,7 @@ static void test_map(void) TEST_ASSERT_EQUAL_INT(2, key); offset += cbor_deserialize_byte_string(&stream, offset, value, sizeof(value)); TEST_ASSERT_EQUAL_STRING("2", &(value[0])); + TEST_ASSERT_EQUAL_INT(sizeof(data), offset); } }