Skip to content

Commit

Permalink
upstream: Move up null check and simplify process_escapes.
Browse files Browse the repository at this point in the history
Based on Coverity CID 291863 which points out we check the channel
pointer for NULLness after dereferencing it.  Move this to the start
of the function, and while there simplify initialization of efc a bit.
ok djm@

OpenBSD-Commit-ID: de36e5ad6fde0fe263ca134e986b9095dc59380a
  • Loading branch information
daztucker committed Apr 3, 2023
1 parent b36b162 commit 09d8da0
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions clientloop.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* $OpenBSD: clientloop.c,v 1.391 2023/03/31 04:04:15 djm Exp $ */
/* $OpenBSD: clientloop.c,v 1.392 2023/04/03 08:10:54 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Expand Down Expand Up @@ -1005,14 +1005,12 @@ process_escapes(struct ssh *ssh, Channel *c,
u_int i;
u_char ch;
char *s;
struct escape_filter_ctx *efc = c->filter_ctx == NULL ?
NULL : (struct escape_filter_ctx *)c->filter_ctx;
struct escape_filter_ctx *efc;

if (c->filter_ctx == NULL)
if (c == NULL || c->filter_ctx == NULL || len <= 0)
return 0;

if (len <= 0)
return (0);
efc = (struct escape_filter_ctx *)c->filter_ctx;

for (i = 0; i < (u_int)len; i++) {
/* Get one character at a time. */
Expand Down Expand Up @@ -1109,7 +1107,7 @@ process_escapes(struct ssh *ssh, Channel *c,
continue;

case '&':
if (c && c->ctl_chan != -1)
if (c->ctl_chan != -1)
goto noescape;
/*
* Detach the program (continue to serve
Expand Down

0 comments on commit 09d8da0

Please sign in to comment.