aboutsummaryrefslogtreecommitdiff
path: root/src/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc')
-rw-r--r--src/lib/libc/malloc.c10
-rw-r--r--src/lib/libc/stdio.c2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libc/malloc.c b/src/lib/libc/malloc.c
index fd37f76..6498273 100644
--- a/src/lib/libc/malloc.c
+++ b/src/lib/libc/malloc.c
@@ -27,13 +27,13 @@ static void heap_free_pages(void* addr) {
static mem_allocator_t *mem_allocator;
static slab_type_t slab_sizes[] = {
{ "8B malloc objects", 8, 2 },
- { "16B malloc objects", 16, 2 },
- { "32B malloc objects", 32, 2 },
+ { "16B malloc objects", 16, 4 },
+ { "32B malloc objects", 32, 4 },
{ "64B malloc objects", 64, 4 },
- { "128B malloc objects", 128, 4 },
- { "256B malloc objects", 256, 4 },
+ { "128B malloc objects", 128, 8 },
+ { "256B malloc objects", 256, 8 },
{ "512B malloc objects", 512, 8 },
- { "1KB malloc objects", 1024, 8 },
+ { "1KB malloc objects", 1024, 16 },
{ "2KB malloc objects", 2048, 16 },
{ "4KB malloc objects", 4096, 16 },
{ 0, 0, 0 }
diff --git a/src/lib/libc/stdio.c b/src/lib/libc/stdio.c
index bfa2f74..df30e08 100644
--- a/src/lib/libc/stdio.c
+++ b/src/lib/libc/stdio.c
@@ -215,7 +215,7 @@ size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) {
stream->pos += ret;
}
- if (ret < size * nmemb) {
+ if (ret < size * nmemb || stream->pos >= stream->st.size) {
stream->flags |= STDIO_FL_EOF;
}