Explorar o código

fix off-by-one in bounds check in fpathconf

this error resulted in an out-of-bounds read, as opposed to a reported
error, when calling the function with an argument one greater than the
max valid index.

(cherry picked from commit 3bed89aa7456d9fe30e550cb5e21f8911036695b)
Rich Felker %!s(int64=10) %!d(string=hai) anos
pai
achega
5a8c6f0932
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/conf/fpathconf.c

+ 1 - 1
src/conf/fpathconf.c

@@ -27,7 +27,7 @@ long fpathconf(int fd, int name)
 		[_PC_SYMLINK_MAX] = SYMLINK_MAX,
 		[_PC_2_SYMLINKS] = 1
 	};
-	if (name > sizeof(values)/sizeof(values[0])) {
+	if (name >= sizeof(values)/sizeof(values[0])) {
 		errno = EINVAL;
 		return -1;
 	}