git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] opening files in remote.c should ensure it is opening a file

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 8, 2008, 20:44 UTC
Message-ID
<alpine.LSU.1.00.0802082042440.11591@racer.site>
In-Reply-To
<alpine.LNX.1.00.0802081526350.13593@iabervon.org>
Hi,
On Fri, 8 Feb 2008, Daniel Barkalow wrote:
Show 33 quoted lines
> On Fri, 8 Feb 2008, Mike Ralphson wrote:
> 
> > On Feb 8, 2008 4:46 PM, H.Merijn Brand <h.m.brand@xs4all.nl> wrote:
> > > HP-UX allows directories to be opened with fopen (path, "r"), which
> > > will cause some translations that expect to read files, read dirs
> > > instead. This patch makes sure the two fopen () calls in remote.c
> > > only open the file if it is a file.
> > >
> > > Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
> > 
> > Many thanks, this is also required for AIX. I had got some way to
> > tracking it down, but I thought it was an issue with strbuf. So...
> 
> Does the following help? We really ought to know that ".." must be a path 
> literal (and there obviously should be more limitations on nicknames for 
> remotes, but I haven't figured out what they should be yet).
> 
> 	-Daniel
> *This .sig left intentionally blank*
> 
> diff --git a/remote.c b/remote.c
> index 0e00680..83a3d9d 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -348,7 +348,7 @@ struct remote *remote_get(const char *name)
>         if (!name)
>                 name = default_remote_name;
>         ret = make_remote(name, 0);
> -       if (name[0] != '/') {
> +       if (name[0] != '/' && strcmp(name, "..")) {
>                 if (!ret->url)
>                         read_remotes_file(ret);
>                 if (!ret->url)

You'll need to check for ".", too: "git pull . <branch>" was originally the only way to merge a local branch, and it is still valid.

Ciao, Dscho

Previous: Daniel BarkalowNext: Junio C Hamano
Message 8 of 27 in “opening files in remote.c should ensure it is opening a file”
  1. opening files in remote.c should ensure it is opening a fileH.Merijn Brand, Feb 8, 2008
  2. Mike RalphsonFeb 8, 2008
  3. H.Merijn BrandFeb 8, 2008
  4. H.Merijn BrandFeb 18, 2008
  5. Junio C HamanoFeb 18, 2008
  6. H.Merijn BrandFeb 18, 2008
  7. Daniel BarkalowFeb 8, 2008
  8. Johannes SchindelinFeb 8, 2008
  9. Junio C HamanoFeb 9, 2008
  10. Daniel BarkalowFeb 9, 2008
  11. Junio C HamanoFeb 8, 2008
  12. Johannes SchindelinFeb 8, 2008
  13. H.Merijn BrandFeb 9, 2008
  14. Morten WelinderFeb 8, 2008
  15. Junio C HamanoFeb 8, 2008
  16. Johannes SchindelinFeb 8, 2008
  17. Junio C HamanoFeb 8, 2008
  18. Johannes SchindelinFeb 8, 2008
  19. Brandon CaseyFeb 8, 2008
  20. Brandon CaseyFeb 8, 2008
  21. Junio C HamanoFeb 9, 2008
  22. Brandon CaseyFeb 9, 2008
  23. Add compat/fopen.c which returns NULL on attempt to open directoryBrandon Casey, Feb 9, 2008
  24. H.Merijn BrandFeb 11, 2008
  25. H.Merijn BrandFeb 11, 2008
  26. Junio C HamanoFeb 12, 2008
  27. H.Merijn BrandFeb 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.