-/* $OpenBSD: sftp.c,v 1.250 2026/02/11 17:01:34 dtucker Exp $ */
+/* $OpenBSD: sftp.c,v 1.251 2026/05/31 04:51:45 djm Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
*
{
size_t len;
- if (strip == NULL)
+ if (strip == NULL || (len = strlen(strip)) == 0)
return (xstrdup(path));
- len = strlen(strip);
if (strncmp(path, strip, len) == 0) {
if (strip[len - 1] != '/' && path[len] == '/')
len++;
/* Unescape everything */
/* XXX support \n and friends? */
i++;
+ if (arg[i] == '\0')
+ goto early_nul;
argvs[j++] = arg[i];
}
}
goto string_done;
} else if (arg[i] == '\0') {
if (state == MA_SQUOTE || state == MA_DQUOTE) {
+ early_nul:
if (sloppy) {
state = MA_UNQUOTED;
if (terminated != NULL)