projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use getcwd() instead of get_current_dir_name().
[tinc]
/
src
/
conf.c
diff --git
a/src/conf.c
b/src/conf.c
index
997a05e
..
1c250d7
100644
(file)
--- a/
src/conf.c
+++ b/
src/conf.c
@@
-485,8
+485,9
@@
static void disable_old_keys(const char *filename) {
FILE *ask_and_open(const char *filename, const char *what) {
FILE *r;
FILE *ask_and_open(const char *filename, const char *what) {
FILE *r;
- char
*directory
;
+ char
directory[PATH_MAX]
;
char line[PATH_MAX];
char line[PATH_MAX];
+ char abspath[PATH_MAX];
const char *fn;
/* Check stdin and stdout */
const char *fn;
/* Check stdin and stdout */
@@
-520,12
+521,9
@@
FILE *ask_and_open(const char *filename, const char *what) {
if(fn[0] != '/') {
#endif
/* The directory is a relative path or a filename. */
if(fn[0] != '/') {
#endif
/* The directory is a relative path or a filename. */
- char *p;
-
- directory = get_current_dir_name();
- xasprintf(&p, "%s/%s", directory, fn);
- free(directory);
- fn = p;
+ getcwd(directory, sizeof directory);
+ snprintf(abspath, sizeof abspath, "%s/%s", directory, fn);
+ fn = abspath;
}
umask(0077); /* Disallow everything for group and other */
}
umask(0077); /* Disallow everything for group and other */