[PATCH] mux: fix incorrect return value check in local forward cancellation

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

 



Hi,

This patch fixes a logic error in mux_master_process_close_fwd().

channel_cancel_lport_listener() returns 1 on success and 0 on failure.
The previous code incorrectly checked for `== -1`, a value the function
never returns, so failure was not detected and the "port not found"
error message was never shown when cancelling dynamic or local port
forwards.

The patch applies cleanly to current master and all GitHub CI jobs are
green (see mirror PR):
  https://github.com/openssh/openssh-portable/pull/577

If merged, could you please keep the author line
   From: Boris Tonofa <b.tonofa@xxxxxxxx>
in the commit message?  My company would appreciate the attribution.

Thanks for your time and review.

Best regards,
Boris


From 41aacbdbf107bebae150a46bd098d4ed1f379019 Mon Sep 17 00:00:00 2001
From: Boris Tonofa <b.tonofa@xxxxxxxx>
Date: Fri, 20 Jun 2025 19:22:14 +0300
Subject: [PATCH] mux: fix incorrect return value check in local forward
 cancellation

channel_cancel_lport_listener() returns 1 on success and 0 on failure.
The previous code incorrectly checked for `== -1`, a value the function
never returns, so failure was not detected and the "port not found"
error message was never shown when cancelling dynamic or local port
forwards.
---
 mux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mux.c b/mux.c
index 415024f74..ad40b4489 100644
--- a/mux.c
+++ b/mux.c
@@ -931,7 +931,7 @@ mux_master_process_close_fwd(struct ssh *ssh, u_int rid,
 	} else {	/* local and dynamic forwards */
 		/* Ditto */
 		if (channel_cancel_lport_listener(ssh, &fwd, fwd.connect_port,
-		    &options.fwd_opts) == -1)
+		    &options.fwd_opts) != 1)
 			error_reason = "port not found";
 	}

--
2.47.0
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@xxxxxxxxxxx
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev



[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux