upstream commit

Fix \-escaping bug that caused forward path parsing to skip
 two characters and skip past the end of the string.

Based on patch by Salvador Fandino; ok dtucker@

Upstream-ID: 7b879dc446335677cbe4cb549495636a0535f3bd
This commit is contained in:
djm@openbsd.org 2015-06-26 05:13:20 +00:00 committed by Damien Miller
parent bc20205c91
commit 78c2a4f883
1 changed files with 3 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: readconf.c,v 1.236 2015/05/22 04:45:52 djm Exp $ */ /* $OpenBSD: readconf.c,v 1.237 2015/06/26 05:13:20 djm Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -1927,7 +1927,8 @@ parse_fwd_field(char **p, struct fwdarg *fwd)
switch (*cp) { switch (*cp) {
case '\\': case '\\':
memmove(cp, cp + 1, strlen(cp + 1) + 1); memmove(cp, cp + 1, strlen(cp + 1) + 1);
cp++; if (*cp == '\0')
return -1;
break; break;
case '/': case '/':
ispath = 1; ispath = 1;