support ldso path files without final newline
authorRich Felker <dalias@aerifal.cx>
Fri, 9 Nov 2012 18:49:40 +0000 (13:49 -0500)
committerRich Felker <dalias@aerifal.cx>
Fri, 9 Nov 2012 18:49:40 +0000 (13:49 -0500)
src/ldso/dynlink.c

index c295301..ba2f612 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[-1] = 0;
+                                       }
                                        fclose(f);
                                }
                        }