diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-01 00:11:01 +0300 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-12-01 00:11:01 +0300 |
commit | 93f6aa6bca1621fc5bce8f543e3e0b3a0be01378 (patch) | |
tree | 0b9d8eb5f92194aa86fafe08625752ebb218dca4 /util-linux/mkfs_minix.c | |
parent | 610c4aa197e057dea3848054d08fa9980ea679c0 (diff) |
"make bigdata" biggest offender dealt with:
xmalloc 16Kb buffer instead of keeping it in bss
Diffstat (limited to 'util-linux/mkfs_minix.c')
-rw-r--r-- | util-linux/mkfs_minix.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index f0b658d0e..af19da68c 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c @@ -613,7 +613,8 @@ static void alarm_intr(int alnum) static void check_blocks(void) { int try, got; - static char buffer[BLOCK_SIZE * TEST_BUFFER_BLOCKS]; + /* buffer[] was the biggest static in entire bbox */ + char *buffer = xmalloc(BLOCK_SIZE * TEST_BUFFER_BLOCKS); currently_testing = 0; signal(SIGALRM, alarm_intr); @@ -635,6 +636,7 @@ static void check_blocks(void) badblocks++; currently_testing++; } + free(buffer); printf("%d bad block(s)\n", badblocks); } |