aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2014-03-29 14:28:02 +0800
committerThomas Preud'homme <robotux@celest.fr>2014-03-29 14:46:26 +0800
commitb125743323f92b3492634cd875be820c890d5f29 (patch)
tree04a1ce3cdd3ce252b2aa22eabbd75d2c0cc0934a /lib
parent9a6ee577f6165dccfde424732bfc6f16f1e2811b (diff)
downloadtinycc-b125743323f92b3492634cd875be820c890d5f29.tar.gz
tinycc-b125743323f92b3492634cd875be820c890d5f29.tar.bz2
Create bcheck region for argv and arge argument
For program manipulating argv or arge as pointer with construct such as: (while *argv++) { do_something_with_argv; } it is necessary to have argv and arge inside a region. This patch create regions argv and arge) if main is declared with those parameters.
Diffstat (limited to 'lib')
-rw-r--r--lib/bcheck.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/bcheck.c b/lib/bcheck.c
index 064fb5d..968cdf4 100644
--- a/lib/bcheck.c
+++ b/lib/bcheck.c
@@ -418,6 +418,13 @@ void __bound_init(void)
}
}
+void __bound_main_arg(void **p)
+{
+ void *start = p;
+ while (*p++);
+ __bound_new_region(start, (void *) p - start);
+}
+
void __bound_exit(void)
{
restore_malloc_hooks();