|author||Peter Seebach <email@example.com>||2013-02-13 13:32:53 -0600|
|committer||Peter Seebach <firstname.lastname@example.org>||2013-02-13 13:35:31 -0600|
wrap_linkat() was trying to avoid "redundantly" expanding paths before calling real_linkat(). Which is fine when you're not using an absolute path in a chroot environment, but if you are, it ends up calling the real syscall with the absolute path and no chroot prefix. General observation: All the *at() implementations are expanding paths into absolute paths, then dutifully calling real_*at() functions with them anyway. This is silly. Added a note to Futures.txt to fix it some day. In the mean time, linkat() is fixed correctly; it always expands paths, does so exactly once, and then uses the underlying link() call because it doesn't need special processing of directory fds anymore. Also fixed errno stashing to reduce the risk that link() will change errno in a circumstance where it doesn't actually fail.
Diffstat (limited to 'Makefile.in')
1 files changed, 2 insertions, 2 deletions
diff --git a/Makefile.in b/Makefile.in
index 0552d35..e0cd7a9 100644
@@ -1,7 +1,7 @@
# Makefile.in/Makefile, build rules for pseudo
-# Copyright (c) 2008-2012 Wind River Systems, Inc.
+# Copyright (c) 2008-2013 Wind River Systems, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the Lesser GNU General Public License version 2.1 as
@@ -27,7 +27,7 @@ BITS=@BITS@