From fb976ada5be4634048bcbdde880729ee12f610e9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 4 Jun 2017 21:59:18 +0200 Subject: gnu: libssh: Update to 0.7.5. * gnu/packages/ssh.scm (libssh): Update to 0.7.5. [source](patches): New field. --- .../patches/libssh-hostname-parser-bug.patch | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 gnu/packages/patches/libssh-hostname-parser-bug.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/libssh-hostname-parser-bug.patch b/gnu/packages/patches/libssh-hostname-parser-bug.patch new file mode 100644 index 0000000000..69f46cbdd6 --- /dev/null +++ b/gnu/packages/patches/libssh-hostname-parser-bug.patch @@ -0,0 +1,31 @@ +Fix "Hostname" parsing in OpenSSH config files, as reported +at . + +From: Niels Ole Salscheider +Date: Mon, 8 May 2017 17:36:13 +0200 +Subject: [PATCH] Fix reading of the first parameter + +This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7. +Previously, it would return as long as the parameter was _not_ seen +before. It also did not handle the case for the unsupported opcode (-1) +which would cause a segfault when accessing the "seen" array. +--- + src/config.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/config.c b/src/config.c +index 7c03b27..238a655 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line, + } + + opcode = ssh_config_get_opcode(keyword); +- if (*parsing == 1 && opcode != SOC_HOST) { +- if (seen[opcode] == 0) { ++ if (*parsing == 1 && opcode != SOC_HOST && ++ opcode > SOC_UNSUPPORTED && opcode < SOC_END) { ++ if (seen[opcode] == 1) { + return 0; + } + seen[opcode] = 1; -- cgit v1.2.3