aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--iconv/strtab.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 32e12ac4cf..f0bd8d547a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-07-22 Ulrich Drepper <drepper@redhat.com>
+
+ * iconv/strtab.c (morememory): Fix little memory handling problem.
+
2001-07-22 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Don't
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);
}