diff options
author | 2010-03-25 23:38:28 +0000 | |
---|---|---|
committer | 2010-03-25 23:38:28 +0000 | |
commit | 2ab5feec72d98cb8e646e11782f4c3f69514ba1a (patch) | |
tree | fb2eba52f54076522ff58208a4f219e319fb68b2 | |
parent | merge 1.9.16, keeping local patches (diff) | |
download | wireguard-openbsd-2ab5feec72d98cb8e646e11782f4c3f69514ba1a.tar.xz wireguard-openbsd-2ab5feec72d98cb8e646e11782f4c3f69514ba1a.zip |
from portable: getcwd(NULL, 0) doesn't work on all platforms, so
use a stack buffer; ok dtucker@
-rw-r--r-- | usr.bin/ssh/servconf.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/usr.bin/ssh/servconf.c b/usr.bin/ssh/servconf.c index a6d85eba3c4..db4f794a0c8 100644 --- a/usr.bin/ssh/servconf.c +++ b/usr.bin/ssh/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.206 2010/03/12 11:37:40 markus Exp $ */ +/* $OpenBSD: servconf.c,v 1.207 2010/03/25 23:38:28 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * All rights reserved @@ -433,15 +433,14 @@ parse_token(const char *cp, const char *filename, char * derelativise_path(const char *path) { - char *expanded, *ret, *cwd; + char *expanded, *ret, cwd[MAXPATHLEN]; expanded = tilde_expand_filename(path, getuid()); if (*expanded == '/') return expanded; - if ((cwd = getcwd(NULL, 0)) == NULL) + if (getcwd(cwd, sizeof(cwd)) == NULL) fatal("%s: getcwd: %s", __func__, strerror(errno)); xasprintf(&ret, "%s/%s", cwd, expanded); - free(cwd); xfree(expanded); return ret; } |