On 3/24/26 16:21, Joseph Myers wrote:
remote_exec is sometimes used with the name of an installed command
plus its arguments, which means the 'rm -f $program' breaks in
general.
---
  lib/ssh.exp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ssh.exp b/lib/ssh.exp
index 26e9714..a126359 100644
--- a/lib/ssh.exp
+++ b/lib/ssh.exp
@@ -168,7 +168,7 @@ proc ssh_exec { boardname program pargs inp outp } {
        set inp "/dev/null"
      }
- set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 2>&1 ; echo XYZ\\\${?}ZYX \\; rm -f $program'" $inp $outp $timeout]
+    set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 
2>&1 ; echo XYZ\\\${?}ZYX \\; '" $inp $outp $timeout]
      set status [lindex $ret 0]
      set output [lindex $ret 1]

Logically, this makes sense:  ssh_exec did not transfer $program to the remote, so it should not be performing cleanup like that. However, the trailing semicolon also should be removed, so that the string ends with ZYX.


-- Jacob


Reply via email to