catch garbage at the end of a #define

This commit is contained in:
Jeremiah Orians 2021-11-06 21:55:22 -04:00
parent 4c310a3f6d
commit 9997d7a275
No known key found for this signature in database
GPG Key ID: 6B3A3F198708F894
3 changed files with 14 additions and 9 deletions

View File

@ -396,7 +396,6 @@ void handle_define()
{
struct macro_list* hold;
struct token_list* expansion_end = NULL;
struct token_list* line_start = macro_token;
/* don't use #define statements from non-included blocks */
int conditional_define = TRUE;
@ -439,6 +438,8 @@ void handle_define()
return;
}
require(NULL != hold, "#define got something it can't handle\n");
expansion_end = macro_token;
/* in the first iteration, we set the first token of the expansion, if
@ -449,7 +450,11 @@ void handle_define()
}
/* throw away if not used */
if(!conditional_define) free(hold);
if(!conditional_define && (NULL != hold))
{
free(hold);
hold = NULL;
}
eat_current_token();
}

View File

@ -212,9 +212,9 @@ eb1f6aab09a1a4966f9f49a518d8aa03ca97aa7c46e443871d758a306671a85e test/results/t
a2cbfd5f76d3be8049c6737e3fa02f191caf29b6885db006fa23f86e6eacc186 test/results/test0106-knight-posix-binary
d75e450e2fcdf19df63f9d6a3fe5e032933e57b33f6f06b39a8ed2f3dc759f17 test/results/test0106-riscv64-binary
473cc504d6cba9eaf648abcf15c83a317ff3f4a7f08f5e8936e3b35b2cc4fbc6 test/results/test0106-x86-binary
163b9e09a19f8cd592af1ad1ff289c985e769df17eb67eea33bf7f9fff140654 test/results/test1000-aarch64-binary
c8c56324ce5e53e0ce75a0c84db88c39397f79f761b3e2fbec5714b9f058b37c test/results/test1000-amd64-binary
19e79a0a80d43e22f1cbd1636985b362273fb2c8bafe27eede2f79aea16b07e5 test/results/test1000-armv7l-binary
b0c4cb6ba049f97704df3e3694b47364c1302b28e88d87065b27887642ebda76 test/results/test1000-knight-posix-binary
efe53ac2f7bd3bce3823160232da05af3b8e21e576a38f694272b9dc577a2baa test/results/test1000-riscv64-binary
430978cbac169ce8447eb485632698e5b35abcbb49d4d5156a6b66a607117b32 test/results/test1000-x86-binary
c8360bf5cf47fe68593c5163b0d72db2026563cd3ae9d6569b4e359d5ddf5055 test/results/test1000-aarch64-binary
be6b2b9d3c5da922f2c101b1a1ae3140a2dd4077c9326359b7e5eb4ee3941cf5 test/results/test1000-amd64-binary
6023ece6bedd28707824893d08787f4e796d5e13d8dfcdd61a6c5092e6281d77 test/results/test1000-armv7l-binary
57e67dd208599e752088e78c866c9f40a3dde62d8eb39ce879b41f8ab6b1864d test/results/test1000-knight-posix-binary
dd31a53ba38aa7d0520a490ee1b9c170b5be7a5114b6e0c26a802ecd3eccd1e3 test/results/test1000-riscv64-binary
b26a20f63827cf018b47cf256f20fcc6176cf7cfee28d2e114d945477b53a57e test/results/test1000-x86-binary

View File

@ -1 +1 @@
d9883c3c138fcf943bab6320855cbb30dfa8a7384c6431d4174cb4c137ed644f test/test1000/proof
051da13047c134784983be80777706b8578fed66c45f46702e0c0492b83e413b test/test1000/proof