From c735fc99ec9e96520da0ea938890eed8fe64b50e Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 14 Jan 2018 22:27:11 -0600 Subject: resource: Minor improvements * Make function pointer static. * Only initialize function pointer once. Signed-off-by: Samuel Holland --- libgcompat/resource.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libgcompat/resource.c b/libgcompat/resource.c index 4a7ab4e..836d5e2 100644 --- a/libgcompat/resource.c +++ b/libgcompat/resource.c @@ -17,16 +17,17 @@ * very obviously won't work here. */ #ifndef NO_BROKEN_SHADOW_SETRLIMIT -int (*real_rlimit)(int, const struct rlimit *); +static int (*real_rlimit)(int, const struct rlimit *); int setrlimit(int resource, const struct rlimit *rlim) { struct rlimit my_rlim; - real_rlimit = dlsym(RTLD_NEXT, "setrlimit"); - assert(real_rlimit != NULL); + if (real_rlimit == NULL) { + real_rlimit = dlsym(RTLD_NEXT, "setrlimit"); + assert(real_rlimit); + } memcpy(&my_rlim, rlim, sizeof(struct rlimit)); - if (my_rlim.rlim_cur == 0) { my_rlim.rlim_cur = my_rlim.rlim_max; } -- cgit v1.2.3-70-g09d2