diff --git a/src/od.c b/src/od.c index c68d40bac..5dd9d9f4d 100644 --- a/src/od.c +++ b/src/od.c @@ -1421,8 +1421,8 @@ dump (void) int err; size_t n_bytes_read; - block[0] = alloca (bytes_per_block); - block[1] = alloca (bytes_per_block); + block[0] = xnmalloc (2, bytes_per_block); + block[1] = block[0] + bytes_per_block; current_offset = n_bytes_to_skip; @@ -1487,6 +1487,8 @@ dump (void) if (limit_bytes_to_format && current_offset >= end_offset) err |= check_and_close (0); + free (block[0]); + return err; }