diff options
| author | peter <peter@pmikkelsen.com> | 2026-08-31 20:04:50 +0000 |
|---|---|---|
| committer | peter <peter@pmikkelsen.com> | 2026-08-31 20:04:50 +0000 |
| commit | 0091c055edceca2598dfb7dd64cdcb081e4c7507 (patch) | |
| tree | 07e3271fa68c22a32f19106f3af5679a10bb8dd6 /src | |
| parent | 79663b57ce0b1f2da77d4e8bfd831f318aada49b (diff) | |
Fix problems in release builds
FossilOrigin-Name: 98227d25674f373968f51df0dcdccf3cf14d646a13e56a9229103d1aeb3ad73d
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/main.c | 1 | ||||
| -rw-r--r-- | src/lib/memory.c | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/bin/main.c b/src/bin/main.c index 42ab963..c3743f2 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -36,6 +36,7 @@ main(int argc, char *argv[]) aplwc_clear_line(&line); aplwc_clear_value(&value); + input = NULL; xflag = 0; input_file = 0; exit_code = 0; diff --git a/src/lib/memory.c b/src/lib/memory.c index b6e044a..694a31b 100644 --- a/src/lib/memory.c +++ b/src/lib/memory.c @@ -105,7 +105,7 @@ grow(struct aplwc *aplwc, size_t extra) { uint8_t *unaligned_data, *aligned_data; size_t unaligned_newsize, aligned_newsize, adjust; - struct chunk **free; + struct chunk **free, *head; if(aplwc->fns.alloc == NULL) goto error; @@ -123,16 +123,17 @@ grow(struct aplwc *aplwc, size_t extra) aligned_newsize -= aligned_newsize % ALIGNMENT; assert(aligned_newsize >= (aplwc->size + extra)); + head = (struct chunk *)aligned_data; if(aplwc->data){ memmove(aligned_data, aplwc->data, aplwc->size); fixrefs(aplwc, aligned_data, aplwc->data); if(aplwc->fns.dealloc) aplwc->fns.dealloc(aplwc->unaligned_data); - for(free = (struct chunk **)&aligned_data; (*free); free = &(*free)->next) + for(free = &head; (*free); free = &(*free)->next) assert((*free)->tag != CHUNK_TAG_FREE); }else - free = (struct chunk **)&aligned_data; + free = &head; (*free) = (struct chunk *)(aligned_data + aplwc->size); |