瀏覽代碼

make newline-delimited dynamic linker path file actually work

apparently the original commit was never tested properly, since
getline was only ever reading one line. the intent was to read the
entire file, so use getdelim with the null byte as delimiter as a
cheap way to read a whole file into memory.
Rich Felker 11 年之前
父節點
當前提交
8813c956e5
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/ldso/dynlink.c

+ 1 - 1
src/ldso/dynlink.c

@@ -478,7 +478,7 @@ 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) {
+					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;