[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[debian-hurd-Patches][310742] analog 6.0-14 hurd patch



Patches item #310742, was opened at 26/04/2008 23:30
Status: Open
Priority: 3
Submitted By: Flávio Cruz (flaviocruz-guest)
Assigned to: Nobody (None)
Summary: analog 6.0-14 hurd patch 
Category: None
Group: None
Resolution: None


Initial Comment:
analog 6.0-14 patch for GNU/Hurd

----------------------------------------------------------------------

>Comment By: Samuel Thibault (sthibaul-guest)
Date: 01/05/2008 01:38

Message:
Mmm, now it's rather about style. Maybe you can send it as is, but maybe
this could pose problem: you could avoid defining has_path_access() by
writing something like:

#ifdef __GLIBC__
      commandpath = realpath(t, NULL);
      if (commandpath != NULL)
#else
      if (realpath(t, commandpath))
#endif
      {
	if (access(commandpath, X_OK) == 0 &&
	stat(commandpath, &buf) == 0 && S_ISREG(buf.st_mode))
	  done = TRUE;
      }
#ifdef __GLIBC__
	else
	  free(commandpath);
#endif

but it's really a matter of taste (the maintainer's taste ;) ), you
could for instance propose two versions of the patch.


----------------------------------------------------------------------

Comment By: Flávio Cruz (flaviocruz-guest)
Date: 30/04/2008 22:42

Message:
New version ;-)

----------------------------------------------------------------------

Comment By: Samuel Thibault (sthibaul-guest)
Date: 30/04/2008 02:01

Message:
4K may still not be enough for the path below ;)


----------------------------------------------------------------------

Comment By: Flávio Cruz (flaviocruz-guest)
Date: 30/04/2008 01:56

Message:
Huu, you're right, but using realpath("/", NULL) doesn't just strdup's "/", but a buffer with 4K filled with "/ \0", at least in my system. Which means that the code below works OK.

But yeah, it's much better to patch the realpath calls just below.

----------------------------------------------------------------------

Comment By: Samuel Thibault (sthibaul-guest)
Date: 29/04/2008 01:27

Message:
Errr, I don't understand: why are you calling realpath("/", NULL)?  You
will just get an strdup of "/", which won't work with what is done
below.  You should rather patch the realpath() calls below.


----------------------------------------------------------------------

Comment By: Flávio Cruz (flaviocruz-guest)
Date: 29/04/2008 01:14

Message:
I've updated the patch

----------------------------------------------------------------------

Comment By: Samuel Thibault (sthibaul-guest)
Date: 27/04/2008 21:39

Message:
Mmm, SUS says that _PC_PATH_MAX is to be used for pathconf(), not
sysconf...

Also, it actually returns -1, since we don't have any path limitation
in GNU/Hurd.  A more correct fix is to set commandname to NULL to let
GLIBC's realpath allocate the string for us.  That should be done #ifdef
__GLIBC__ of course (that extension is not yet in SUS)


----------------------------------------------------------------------

You can respond by visiting: 
http://alioth.debian.org/tracker/?func=detail&atid=410472&aid=310742&group_id=30628


Reply to: