diff options
Diffstat (limited to 'coreutils/realpath.c')
-rw-r--r-- | coreutils/realpath.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/coreutils/realpath.c b/coreutils/realpath.c index ec98221ad..90402c954 100644 --- a/coreutils/realpath.c +++ b/coreutils/realpath.c | |||
@@ -30,7 +30,13 @@ int realpath_main(int argc, char **argv) | |||
30 | { | 30 | { |
31 | int retval = EXIT_SUCCESS; | 31 | int retval = EXIT_SUCCESS; |
32 | 32 | ||
33 | #if PATH_MAX > (BUFSIZ+1) | ||
33 | RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX); | 34 | RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX); |
35 | # define resolved_path_MUST_FREE 1 | ||
36 | #else | ||
37 | #define resolved_path bb_common_bufsiz1 | ||
38 | # define resolved_path_MUST_FREE 0 | ||
39 | #endif | ||
34 | 40 | ||
35 | if (--argc == 0) { | 41 | if (--argc == 0) { |
36 | bb_show_usage(); | 42 | bb_show_usage(); |
@@ -46,7 +52,7 @@ int realpath_main(int argc, char **argv) | |||
46 | } | 52 | } |
47 | } while (--argc); | 53 | } while (--argc); |
48 | 54 | ||
49 | #ifdef CONFIG_FEATURE_CLEAN_UP | 55 | #if ENABLE_FEATURE_CLEAN_UP && resolved_path_MUST_FREE |
50 | RELEASE_CONFIG_BUFFER(resolved_path); | 56 | RELEASE_CONFIG_BUFFER(resolved_path); |
51 | #endif | 57 | #endif |
52 | 58 | ||