From: Jakub Jelinek Date: Fri, 12 Jan 2007 15:28:03 +0000 (+0000) Subject: * elf/dl-load.c (decompose_rpath): Return bool rather than void. X-Git-Tag: cvs/fedora-glibc-2_5-20070712T1701~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ac9474752f6d2ba93a94869eb7092a2418f837a;p=thirdparty%2Fglibc.git * elf/dl-load.c (decompose_rpath): Return bool rather than void. If l->l_name is on inhibit_rpath list, set sps->dirs to -1 and return false, otherwise return true. (cache_rpath): Return decompose_rpath return value. --- diff --git a/ChangeLog b/ChangeLog index b3bdcc44261..1dc96285249 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-11-08 Jakub Jelinek + + * elf/dl-load.c (decompose_rpath): Return bool rather than void. + If l->l_name is on inhibit_rpath list, set sps->dirs to -1 and + return false, otherwise return true. + (cache_rpath): Return decompose_rpath return value. + 2006-11-02 Jakub Jelinek * malloc/memusage.c (dest): Reset not_me back to false after diff --git a/elf/dl-load.c b/elf/dl-load.c index 36dc123c013..0bb58129c54 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -511,7 +511,7 @@ fillin_rpath (char *rpath, struct r_search_path_elem **result, const char *sep, } -static void +static bool internal_function decompose_rpath (struct r_search_path_struct *sps, const char *rpath, struct link_map *l, const char *what) @@ -546,19 +546,8 @@ decompose_rpath (struct r_search_path_struct *sps, { /* This object is on the list of objects for which the RUNPATH and RPATH must not be used. */ - result = calloc (1, sizeof *result); - if (result == NULL) - { - signal_error_cache: - errstring = N_("cannot create cache for search path"); - signal_error: - _dl_signal_error (ENOMEM, NULL, NULL, errstring); - } - - sps->dirs = result; - sps->malloced = 1; - - return; + sps->dirs = (void *) -1; + return false; } while (*inhp != '\0') @@ -588,7 +577,11 @@ decompose_rpath (struct r_search_path_struct *sps, result = (struct r_search_path_elem **) malloc ((nelems + 1 + 1) * sizeof (*result)); if (result == NULL) - goto signal_error_cache; + { + errstring = N_("cannot create cache for search path"); + signal_error: + _dl_signal_error (ENOMEM, NULL, NULL, errstring); + } fillin_rpath (copy, result, ":", 0, what, where); @@ -599,6 +592,7 @@ decompose_rpath (struct r_search_path_struct *sps, sps->dirs = result; /* The caller will change this value if we haven't used a real malloc. */ sps->malloced = 1; + return true; } /* Make sure cached path information is stored in *SP @@ -623,10 +617,9 @@ cache_rpath (struct link_map *l, } /* Make sure the cache information is available. */ - decompose_rpath (sp, (const char *) (D_PTR (l, l_info[DT_STRTAB]) - + l->l_info[tag]->d_un.d_val), - l, what); - return true; + return decompose_rpath (sp, (const char *) (D_PTR (l, l_info[DT_STRTAB]) + + l->l_info[tag]->d_un.d_val), + l, what); }