about summary refs log tree commit diff
path: root/iconv/strtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/strtab.c')
-rw-r--r--iconv/strtab.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/iconv/strtab.c b/iconv/strtab.c
index 5b3e3283e9..be79dc29ed 100644
--- a/iconv/strtab.c
+++ b/iconv/strtab.c
@@ -22,6 +22,7 @@
 
 #include <assert.h>
 #include <inttypes.h>
+#include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -72,7 +73,7 @@ strtabinit (void)
 {
   if (ps == 0)
     {
-      ps = sysconf (_SC_PAGESIZE) - 2 * sizeof (void);
+      ps = sysconf (_SC_PAGESIZE) - 2 * sizeof (void *);
       assert (sizeof (struct memoryblock) < ps);
     }
 
@@ -94,7 +95,7 @@ morememory (struct Strtab *st, size_t len)
   newmem->next = st->memory;
   st->memory = newmem;
   st->backp = newmem->memory;
-  st->left = len;
+  st->left = len - offsetof (struct memoryblock, memory);
 }