diff options
Diffstat (limited to 'lib/sh/eaccess.c')
-rw-r--r-- | lib/sh/eaccess.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sh/eaccess.c b/lib/sh/eaccess.c index d9bca8c..534c526 100644 --- a/lib/sh/eaccess.c +++ b/lib/sh/eaccess.c @@ -82,6 +82,8 @@ sh_stat (path, finfo) const char *path; struct stat *finfo; { + static char *pbuf = 0; + if (*path == '\0') { errno = ENOENT; @@ -106,7 +108,7 @@ sh_stat (path, finfo) trailing slash. Make sure /dev/fd/xx really uses DEV_FD_PREFIX/xx. On most systems, with the notable exception of linux, this is effectively a no-op. */ - char pbuf[32]; + pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8)); strcpy (pbuf, DEV_FD_PREFIX); strcat (pbuf, path + 8); return (stat (pbuf, finfo)); |