Lines 260-265
static char *resolve_path(const char *pa
Link Here
|
260 |
* can come up in cases like: |
260 |
* can come up in cases like: |
261 |
* /dev/stderr -> fd/2 -> /proc/self/fd/2 -> /removed/file (deleted) |
261 |
* /dev/stderr -> fd/2 -> /proc/self/fd/2 -> /removed/file (deleted) |
262 |
*/ |
262 |
*/ |
|
|
263 |
#if defined(__sparc__) |
264 |
/* canonicalize_filename_mode() do "Bus error", keep pre-540828 here */ |
265 |
if (!ret && !strncmp(filtered_path, "/proc/", 6)) { |
266 |
char *base = strrchr(filtered_path, '/'); |
267 |
if (base && strchr(base, ':')) |
268 |
ret = filtered_path; |
269 |
} |
270 |
#else |
263 |
if (!ret && errno == ENOENT) { |
271 |
if (!ret && errno == ENOENT) { |
264 |
ret = canonicalize_filename_mode(path, CAN_ALL_BUT_LAST); |
272 |
ret = canonicalize_filename_mode(path, CAN_ALL_BUT_LAST); |
265 |
if (ret) { |
273 |
if (ret) { |
Lines 267-273
static char *resolve_path(const char *pa
Link Here
|
267 |
filtered_path = ret; |
275 |
filtered_path = ret; |
268 |
} |
276 |
} |
269 |
} |
277 |
} |
270 |
|
278 |
#endif |
271 |
if (!ret) { |
279 |
if (!ret) { |
272 |
char tmp_str1[SB_PATH_MAX]; |
280 |
char tmp_str1[SB_PATH_MAX]; |
273 |
snprintf(tmp_str1, SB_PATH_MAX, "%s", path); |
281 |
snprintf(tmp_str1, SB_PATH_MAX, "%s", path); |