diff options
author | cjihrig <cjihrig@gmail.com> | 2020-09-02 20:41:59 -0400 |
---|---|---|
committer | Beth Griggs <Bethany.Griggs@uk.ibm.com> | 2020-09-08 18:01:03 +0100 |
commit | 57badcf93ed86d3bd801db4260f926d660d85468 (patch) | |
tree | 79a8eefe75a5fa9f9f3f13363d25408a8adb985c | |
parent | f38bcc2b59ac37554442b84a204ea87e72a132b2 (diff) | |
download | node-new-57badcf93ed86d3bd801db4260f926d660d85468.tar.gz |
deps: libuv: cherry-pick 0e6e8620
Original commit message:
unix: don't use _POSIX_PATH_MAX
Libuv was using _POSIX_PATH_MAX wrong. Bug introduced in commit b56d279b
("unix: do not require PATH_MAX to be defined") from September 2018.
_POSIX_PATH_MAX is the minimum max path size guaranteed by POSIX, not
the actual max path size of the system libuv runs on. _POSIX_PATH_MAX
is always 256, the real max is often much bigger.
This commit fixes buffer overruns when processing very long paths in
uv_fs_readlink() and uv_fs_realpath() because libuv was not allocating
enough memory to store the result.
Fixes: https://github.com/libuv/libuv/issues/2965
PR-URL: https://github.com/libuv/libuv/pull/2966
Backport-PR-URL: https://github.com/nodejs-private/node-private/pull/221
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jameson Nash <vtjnash@gmail.com>
-rw-r--r-- | deps/uv/src/unix/internal.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h index 47f220000d..82f7bc93d2 100644 --- a/deps/uv/src/unix/internal.h +++ b/deps/uv/src/unix/internal.h @@ -61,9 +61,7 @@ # include <AvailabilityMacros.h> #endif -#if defined(_POSIX_PATH_MAX) -# define UV__PATH_MAX _POSIX_PATH_MAX -#elif defined(PATH_MAX) +#if defined(PATH_MAX) # define UV__PATH_MAX PATH_MAX #else # define UV__PATH_MAX 8192 |