aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-06-21 17:38:13 +0200
committerDavid Robillard <d@drobilla.net>2020-06-21 18:06:27 +0200
commitdfe59abeecba302a04a2d38a78a40fe356ec81a7 (patch)
tree72a907aafc0200890a9db2ac3d97e0e15f74478a
parentf3e2c83e894ebc5ca42e7260215ef5d31e95ded6 (diff)
downloadserd-dfe59abeecba302a04a2d38a78a40fe356ec81a7.tar.gz
serd-dfe59abeecba302a04a2d38a78a40fe356ec81a7.tar.bz2
serd-dfe59abeecba302a04a2d38a78a40fe356ec81a7.zip
Cleanup: Fix uninitialised variables
-rw-r--r--src/n3.c38
-rw-r--r--src/serd_internal.h2
-rw-r--r--src/uri.c10
-rw-r--r--src/writer.c7
-rw-r--r--tests/serd_test.c8
5 files changed, 33 insertions, 32 deletions
diff --git a/src/n3.c b/src/n3.c
index bcaf7aba..3a18bbac 100644
--- a/src/n3.c
+++ b/src/n3.c
@@ -203,9 +203,9 @@ read_utf8_bytes(SerdReader* reader, uint8_t bytes[4], uint32_t* size, uint8_t c)
static SerdStatus
read_utf8_character(SerdReader* reader, Ref dest, uint8_t c)
{
- uint32_t size;
- uint8_t bytes[4];
- SerdStatus st = read_utf8_bytes(reader, bytes, &size, c);
+ uint32_t size = 0;
+ uint8_t bytes[4] = {0, 0, 0, 0};
+ SerdStatus st = read_utf8_bytes(reader, bytes, &size, c);
if (st) {
push_bytes(reader, dest, replacement_char, 3);
} else {
@@ -217,9 +217,9 @@ read_utf8_character(SerdReader* reader, Ref dest, uint8_t c)
static SerdStatus
read_utf8_code(SerdReader* reader, Ref dest, uint32_t* code, uint8_t c)
{
- uint32_t size;
- uint8_t bytes[4] = { 0, 0, 0, 0 };
- SerdStatus st = read_utf8_bytes(reader, bytes, &size, c);
+ uint32_t size = 0;
+ uint8_t bytes[4] = {0, 0, 0, 0};
+ SerdStatus st = read_utf8_bytes(reader, bytes, &size, c);
if (st) {
push_bytes(reader, dest, replacement_char, 3);
return st;
@@ -255,7 +255,7 @@ static void
read_comment(SerdReader* reader)
{
eat_byte_safe(reader, '#');
- int c;
+ int c = 0;
while (((c = peek_byte(reader)) != 0xA) && c != 0xD && c != EOF && c) {
eat_byte_safe(reader, c);
}
@@ -313,7 +313,7 @@ read_STRING_LITERAL_LONG(SerdReader* reader, SerdNodeFlags* flags, uint8_t q)
const int c = peek_byte(reader);
if (c == '\\') {
eat_byte_safe(reader, c);
- uint32_t code;
+ uint32_t code = 0;
if (!read_ECHAR(reader, ref, flags) &&
!read_UCHAR(reader, ref, &code)) {
r_err(reader, SERD_ERR_BAD_SYNTAX,
@@ -426,9 +426,9 @@ is_PN_CHARS_BASE(const uint32_t c)
static SerdStatus
read_PN_CHARS_BASE(SerdReader* reader, Ref dest)
{
- uint32_t code;
- const int c = peek_byte(reader);
- SerdStatus st = SERD_SUCCESS;
+ uint32_t code = 0;
+ const int c = peek_byte(reader);
+ SerdStatus st = SERD_SUCCESS;
if (is_alpha(c)) {
push_byte(reader, dest, eat_byte_safe(reader, c));
} else if (c == EOF || !(c & 0x80)) {
@@ -456,9 +456,9 @@ is_PN_CHARS(const uint32_t c)
static SerdStatus
read_PN_CHARS(SerdReader* reader, Ref dest)
{
- uint32_t code;
- const int c = peek_byte(reader);
- SerdStatus st = SERD_SUCCESS;
+ uint32_t code = 0;
+ const int c = peek_byte(reader);
+ SerdStatus st = SERD_SUCCESS;
if (is_alpha(c) || is_digit(c) || c == '_' || c == '-') {
push_byte(reader, dest, eat_byte_safe(reader, c));
} else if (c == EOF || !(c & 0x80)) {
@@ -556,7 +556,7 @@ read_PN_LOCAL(SerdReader* reader, Ref dest, bool* ate_dot)
static SerdStatus
read_PN_PREFIX_tail(SerdReader* reader, Ref dest)
{
- int c;
+ int c = 0;
while ((c = peek_byte(reader))) { // Middle: (PN_CHARS | '.')*
if (c == '.') {
push_byte(reader, dest, eat_byte_safe(reader, c));
@@ -709,7 +709,7 @@ static bool
read_0_9(SerdReader* reader, Ref str, bool at_least_one)
{
unsigned count = 0;
- for (int c; is_digit((c = peek_byte(reader))); ++count) {
+ for (int c = 0; is_digit((c = peek_byte(reader))); ++count) {
push_byte(reader, str, eat_byte_safe(reader, c));
}
if (at_least_one && count == 0) {
@@ -922,7 +922,7 @@ static bool
read_anon(SerdReader* reader, ReadContext ctx, bool subject, Ref* dest)
{
const SerdStatementFlags old_flags = *ctx.flags;
- bool empty;
+ bool empty = false;
eat_byte_safe(reader, '[');
if ((empty = peek_delim(reader, ']'))) {
*ctx.flags |= (subject) ? SERD_EMPTY_S : SERD_EMPTY_O;
@@ -1088,7 +1088,7 @@ read_predicateObjectList(SerdReader* reader, ReadContext ctx, bool* ate_dot)
}
bool ate_semi = false;
- int c;
+ int c = 0;
do {
read_ws_star(reader);
switch (c = peek_byte(reader)) {
@@ -1244,7 +1244,7 @@ read_base(SerdReader* reader, bool sparql, bool token)
TRY_RET(eat_string(reader, "base", 4));
}
- Ref uri;
+ Ref uri = 0;
read_ws_star(reader);
TRY_RET(uri = read_IRIREF(reader));
if (reader->base_sink) {
diff --git a/src/serd_internal.h b/src/serd_internal.h
index dea98000..7449c514 100644
--- a/src/serd_internal.h
+++ b/src/serd_internal.h
@@ -72,7 +72,7 @@ static inline void*
serd_bufalloc(size_t size)
{
#ifdef HAVE_POSIX_MEMALIGN
- void* ptr;
+ void* ptr = NULL;
const int ret = posix_memalign(&ptr, SERD_PAGE_SIZE, size);
return ret ? NULL : ptr;
#else
diff --git a/src/uri.c b/src/uri.c
index dd306bf5..865e40ec 100644
--- a/src/uri.c
+++ b/src/uri.c
@@ -102,7 +102,7 @@ serd_uri_string_has_scheme(const uint8_t* utf8)
return false; // Invalid scheme initial character, URI is relative
}
- for (uint8_t c; (c = *++utf8) != '\0';) {
+ for (uint8_t c = 0; (c = *++utf8) != '\0';) {
if (!is_uri_scheme_char(c)) {
return false;
} else if (c == ':') {
@@ -153,7 +153,7 @@ maybe_authority:
if (*ptr == '/' && *(ptr + 1) == '/') {
ptr += 2;
out->authority.buf = ptr;
- for (uint8_t c; (c = *ptr) != '\0'; ++ptr) {
+ for (uint8_t c = 0; (c = *ptr) != '\0'; ++ptr) {
switch (c) {
case '/': goto path;
case '?': goto query;
@@ -176,7 +176,7 @@ path:
}
out->path.buf = ptr;
out->path.len = 0;
- for (uint8_t c; (c = *ptr) != '\0'; ++ptr) {
+ for (uint8_t c = 0; (c = *ptr) != '\0'; ++ptr) {
switch (c) {
case '?': goto query;
case '#': goto fragment;
@@ -192,7 +192,7 @@ path:
query:
if (*ptr == '?') {
out->query.buf = ++ptr;
- for (uint8_t c; (c = *ptr) != '\0'; ++ptr) {
+ for (uint8_t c = 0; (c = *ptr) != '\0'; ++ptr) {
if (c == '#') {
goto fragment;
}
@@ -287,7 +287,7 @@ remove_dot_segments(const uint8_t* path, size_t len, size_t* up)
static void
merge(SerdChunk* base, SerdChunk* path)
{
- size_t up;
+ size_t up = 0;
const uint8_t* begin = remove_dot_segments(path->buf, path->len, &up);
const uint8_t* end = path->buf + path->len;
diff --git a/src/writer.c b/src/writer.c
index 15ccd21c..aeac9b36 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -545,9 +545,10 @@ write_curie(SerdWriter* const writer,
const Field field,
const SerdStatementFlags flags)
{
- SerdChunk prefix;
- SerdChunk suffix;
- SerdStatus st;
+ SerdChunk prefix = {NULL, 0};
+ SerdChunk suffix = {NULL, 0};
+ SerdStatus st = SERD_SUCCESS;
+
switch (writer->syntax) {
case SERD_NTRIPLES:
case SERD_NQUADS:
diff --git a/tests/serd_test.c b/tests/serd_test.c
index 95e5505e..5e67eca1 100644
--- a/tests/serd_test.c
+++ b/tests/serd_test.c
@@ -254,7 +254,7 @@ test_blob_to_node(void)
assert(blob.n_bytes == blob.n_chars);
assert(blob.n_bytes == strlen((const char*)blob.buf));
- size_t out_size;
+ size_t out_size = 0;
uint8_t* out = (uint8_t*)serd_base64_decode(
blob.buf, blob.n_bytes, &out_size);
assert(out_size == size);
@@ -274,9 +274,9 @@ test_strlen(void)
{
const uint8_t str[] = { '"', '5', 0xE2, 0x82, 0xAC, '"', '\n', 0 };
- size_t n_bytes;
- SerdNodeFlags flags;
- size_t len = serd_strlen(str, &n_bytes, &flags);
+ size_t n_bytes = 0;
+ SerdNodeFlags flags = 0;
+ size_t len = serd_strlen(str, &n_bytes, &flags);
assert(len == 5 && n_bytes == 7 &&
flags == (SERD_HAS_QUOTE | SERD_HAS_NEWLINE));
len = serd_strlen(str, NULL, &flags);