summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/sys/telnet.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/sys/telnet.c b/common/sys/telnet.c
index ddb3de07..7c1e12c1 100644
--- a/common/sys/telnet.c
+++ b/common/sys/telnet.c
@@ -108,7 +108,9 @@ ssize_t telnet_process(TelnetCtx *ctx, unsigned char *buf, ssize_t size)
/* prescan. because IAC is rare,
* this cost is worthy. */
- if (ctx->iac_state == IAC_NONE && memchr(buf, IAC, size) == NULL)
+ if (ctx->iac_state == IAC_NONE &&
+ !ctx->iac_quote &&
+ memchr(buf, IAC, size) == NULL)
return size;
/* we have to look into the buffer. */