fix typo in dynamic linker path file loading code
[musl] / src / ldso / dynlink.c
index c295301..66f22be 100644 (file)
@@ -478,8 +478,11 @@ static struct dso *load_library(const char *name)
                        if (!sys_path) {
                                FILE *f = fopen(ETC_LDSO_PATH, "rbe");
                                if (f) {
-                                       if (getline(&sys_path, (size_t[1]){0}, f) > 0)
-                                               sys_path[strlen(sys_path)-1]=0;
+                                       if (getline(&sys_path, (size_t[1]){0}, f) > 0) {
+                                               size_t l = strlen(sys_path);
+                                               if (l && sys_path[l-1]=='\n')
+                                                       sys_path[l-1] = 0;
+                                       }
                                        fclose(f);
                                }
                        }