diff options
-rw-r--r-- | src/ldso/dynlink.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 8472343a..eac07d9c 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -478,10 +478,9 @@ static struct dso *load_library(const char *name) if (!sys_path) { FILE *f = fopen(ETC_LDSO_PATH, "rbe"); if (f) { - if (getdelim(&sys_path, (size_t[1]){0}, 0, f) > 0) { - size_t l = strlen(sys_path); - if (l && sys_path[l-1]=='\n') - sys_path[l-1] = 0; + if (getdelim(&sys_path, (size_t[1]){0}, 0, f) <= 0) { + if (sys_path) free(sys_path); + sys_path = ""; } fclose(f); } |