From 1849016a4c0fd3d62b0acb66e7fd0f8c92b4c6fb Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Thu, 22 Oct 2020 00:37:06 -0400 Subject: Fix 4 more bugs in TACLeBench - anagram: Fix two off-by-ones, the heap size, and the result - rijndael_dec: Reset result checksum at job start - huff_enc: Reset mutable global variables at job start --- baseline/source/anagram/anagram.c | 6 +++--- baseline/source/anagram/anagram_stdlib.c | 2 +- baseline/source/huff_enc/huff_enc.c | 2 ++ baseline/source/rijndael_dec/rijndael_dec.c | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'baseline/source') diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c index fc8b6a8..feb9784 100644 --- a/baseline/source/anagram/anagram.c +++ b/baseline/source/anagram/anagram.c @@ -305,10 +305,10 @@ void anagram_ReadDict( void ) _Pragma( "loopbound min 1 max 5" ) while ( anagram_dictionary[ i ][ strlen ] != 0 ) strlen ++; - len += strlen + 2; + len += strlen + 3; } - pchBase = anagram_pchDictionary = ( char * )anagram_malloc( len ); + pchBase = anagram_pchDictionary = ( char * )anagram_malloc( len + 1 ); _Pragma( "loopbound min 2279 max 2279" ) for ( i = 0; i < anagram_DICTWORDS; i ++ ) { @@ -346,7 +346,7 @@ void anagram_init( void ) int anagram_return( void ) { int i; - char const *answer = "duke rip amy"; + char const *answer = "duke yip arm"; for ( i = 0; i < 12; i++ ) if ( answer[ i ] != anagram_buffer[ i ] ) diff --git a/baseline/source/anagram/anagram_stdlib.c b/baseline/source/anagram/anagram_stdlib.c index c766a5e..5c9f3fc 100644 --- a/baseline/source/anagram/anagram_stdlib.c +++ b/baseline/source/anagram/anagram_stdlib.c @@ -126,7 +126,7 @@ void anagram_qsort( void *va, unsigned long n, unsigned long es ) /* This must be redefined for each new benchmark */ -#define ANAGRAM_HEAP_SIZE 18000 +#define ANAGRAM_HEAP_SIZE 20388 static char anagram_simulated_heap[ANAGRAM_HEAP_SIZE]; static unsigned int anagram_freeHeapPos; diff --git a/baseline/source/huff_enc/huff_enc.c b/baseline/source/huff_enc/huff_enc.c index f2db552..6a0b901 100644 --- a/baseline/source/huff_enc/huff_enc.c +++ b/baseline/source/huff_enc/huff_enc.c @@ -153,6 +153,8 @@ void huff_enc_init( void ) { huff_enc_input_pos = 0; huff_enc_output_pos = 0; + huff_enc_byte_nb_to_write = 0; + huff_enc_val_to_write = 0; } diff --git a/baseline/source/rijndael_dec/rijndael_dec.c b/baseline/source/rijndael_dec/rijndael_dec.c index c8f606b..5c0bea8 100644 --- a/baseline/source/rijndael_dec/rijndael_dec.c +++ b/baseline/source/rijndael_dec/rijndael_dec.c @@ -68,6 +68,7 @@ void rijndael_dec_init( void ) rijndael_dec_fin.data = rijndael_dec_data; rijndael_dec_fin.size = 32768; rijndael_dec_fin.cur_pos = 0; + rijndael_dec_checksum = 0; unsigned i; volatile int x = 0; -- cgit v1.2.2