|
@@ -0,0 +1,25 @@
|
|
|
+We're seeing systems in the wild (e.g. ubuntu 20.04) which call
|
|
|
+with a dirfd set to the full filename and path set to "". Since
|
|
|
+this seems to be expected to work, handle it accordingly.
|
|
|
+
|
|
|
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
+Upstream-Status: Pending
|
|
|
+
|
|
|
+Index: git/pseudo_client.c
|
|
|
+===================================================================
|
|
|
+--- git.orig/pseudo_client.c
|
|
|
++++ git/pseudo_client.c
|
|
|
+@@ -1549,8 +1549,12 @@ base_path(int dirfd, const char *path, i
|
|
|
+
|
|
|
+ if (!path)
|
|
|
+ return NULL;
|
|
|
+- if (!*path)
|
|
|
++
|
|
|
++ if (!*path) {
|
|
|
++ if (dirfd != -1 && dirfd != AT_FDCWD)
|
|
|
++ return fd_path(dirfd);
|
|
|
+ return "";
|
|
|
++ }
|
|
|
+
|
|
|
+ if (path[0] != '/') {
|
|
|
+ if (dirfd != -1 && dirfd != AT_FDCWD) {
|