Browse Source

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.
master
Rich Felker 12 years ago
parent
commit
3bed89aa74
  1. 2
      src/conf/fpathconf.c

2
src/conf/fpathconf.c

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

Loading…
Cancel
Save