Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fs: fix long symlinks in realpath #7548

Closed
wants to merge 3 commits into from

Commits on Jul 14, 2016

  1. uv: expose uv_strerror() to JS API

    Retrieving the error message along with the error name is useful. So
    exposing to the JS API.
    
    Extend the existing error messages to include more information about the
    invalid error code.
    
    Also add additional UV_ERRNO_MAX range check to ErrName() to help
    prevent the following comment from libuv documentation on both
    uv_strerror() and uv_err_name():
    
       Leaks a few bytes of memory when you call it with an unknown error
       code.
    trevnorris committed Jul 14, 2016
    Configuration menu
    Copy the full SHA
    8662974 View commit details
    Browse the repository at this point in the history
  2. fs: allow realpath to resolve deep symlinks

    realpath(3) would fail if the symbolic link depth was too deep. If ELOOP
    is encountered then resolve the path in parts until the entire thing is
    resolved. This excludes if the number of symbolic links is too deep, or
    if they are recursive.
    
    Fixes: nodejs#7175
    trevnorris committed Jul 14, 2016
    Configuration menu
    Copy the full SHA
    bf8827b View commit details
    Browse the repository at this point in the history
  3. test,bench: add tests/bench for fs.realpath() fix

    The test/benchmarks included also work for the previous JS
    implementation of fs.realpath(). In case the new implementation of
    realpath() needs to be reverted, we want these changes to stick around.
    trevnorris committed Jul 14, 2016
    Configuration menu
    Copy the full SHA
    e7a38ab View commit details
    Browse the repository at this point in the history