From caf39c26827f355c4e107f55c5c51f67c484bfd7 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 16 Nov 2012 00:35:46 -0600 Subject: Add rebound support to intercept error_exit() and longjmp instead. --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index c705d645..7fb543ab 100644 --- a/main.c +++ b/main.c @@ -76,10 +76,10 @@ void toy_init(struct toy_list *which, char *argv[]) if ((which->flags & TOYFLAG_NEEDROOT) && euid) error_exit("Not root"); } - // Free old toys contents (to be reentrant) + // Free old toys contents (to be reentrant), but leave rebound if any if (toys.optargs != toys.argv+1) free(toys.optargs); - memset(&toys, 0, sizeof(struct toy_context)); + memset(&toys, 0, offsetof(struct toy_context, rebound)); toys.which = which; toys.argv = argv; -- cgit v1.2.3