Ver código fonte

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.
Rich Felker 10 anos atrás
pai
commit
3bed89aa74
1 arquivos alterados com 1 adições e 1 exclusões
  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;
 	}