aboutsummaryrefslogtreecommitdiff
path: root/any_ini.h
diff options
context:
space:
mode:
Diffstat (limited to 'any_ini.h')
-rw-r--r--any_ini.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/any_ini.h b/any_ini.h
index f05b579..9d9afe6 100644
--- a/any_ini.h
+++ b/any_ini.h
@@ -424,7 +424,10 @@ static char *any_ini_stream_until(any_ini_stream_t *ini, size_t start, char c)
// Copy current buffer and refill
case '\0':
tmp = ANY_INI_REALLOC(value, size + ini->cursor - start);
- if (!tmp) return value;
+ if (!tmp) {
+ value[size - 1] = 0;
+ return value;
+ }
size += any_ini_copy(tmp + size, ini->buffer + start, ini->cursor - start);
value = tmp;
@@ -469,8 +472,11 @@ static char *any_ini_stream_until(any_ini_stream_t *ini, size_t start, char c)
}
}
- tmp = ANY_INI_REALLOC(value, size + ini->cursor - start);
- if (!tmp) return value;
+ tmp = ANY_INI_REALLOC(value, size + ini->cursor - start + 1);
+ if (!tmp) {
+ value[size - 1] = 0;
+ return value;
+ }
size += any_ini_copy(tmp + size, ini->buffer + start, ini->cursor - start);
size = any_ini_trim(tmp, 0, size);