]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Sat, 20 May 2017 02:35:47 +0000 (02:35 +0000)
committerDamien Miller <djm@mindrot.org>
Sat, 20 May 2017 04:30:14 +0000 (14:30 +1000)
there's no reason to artificially limit the key path
here, just check that it fits PATH_MAX; spotted by Matthew Patton

Upstream-ID: 858addaf2009c9cf04d80164a41b2088edb30b58

readconf.c

index aee5a8a79f7ba39902fc3b0988c9fff6212c2981..4be5327a9f207d7f5dd3d0c0f6efb0f26ec2e01b 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.c,v 1.275 2017/04/30 23:18:22 djm Exp $ */
+/* $OpenBSD: readconf.c,v 1.276 2017/05/20 02:35:47 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -438,8 +438,8 @@ add_identity_file(Options *options, const char *dir, const char *filename,
 
        if (dir == NULL) /* no dir, filename is absolute */
                path = xstrdup(filename);
-       else
-               (void)xasprintf(&path, "%.100s%.100s", dir, filename);
+       else if (xasprintf(&path, "%s%s", dir, filename) >= PATH_MAX)
+               fatal("Identity file path %s too long", path);
 
        /* Avoid registering duplicates */
        for (i = 0; i < options->num_identity_files; i++) {