[PATCH execline] backtick, withstdinas: Don't try to chomp an empty string

From: Josiah Frentsos <jfrent_at_tilde.team>
Date: Mon, 12 Jan 2026 18:00:08 -0500

Signed-off-by: Josiah Frentsos <jfrent_at_tilde.team>
---
 src/execline/backtick.c    | 2 +-
 src/execline/withstdinas.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/execline/backtick.c b/src/execline/backtick.c
index 5625921..429e720 100644
--- a/src/execline/backtick.c
+++ b/src/execline/backtick.c
_at__at_ -84,7 +84,7 _at__at_ int main (int argc, char const **argv, char const *const *envp)
     else value.len = strlen(value.s) + 1 ;
   }
   else allgood = 1 ;
-  if ((!insist || allgood) && chomp && (value.s[value.len - 2] == '\n'))
+  if ((!insist || allgood) && chomp && (value.len > 1) && (value.s[value.len - 2] == '\n'))
     value.s[--value.len - 1] = 0 ;
   val1[uint_fmt(val1, wait_status(fdwstat))] = 0 ; 
   el_modifs_and_exec(argv + argc1 + 1, var, val, insist < 2 ? 2 : 1, doimport) ;
diff --git a/src/execline/withstdinas.c b/src/execline/withstdinas.c
index e8b5dfd..065f719 100644
--- a/src/execline/withstdinas.c
+++ b/src/execline/withstdinas.c
_at__at_ -53,7 +53,7 _at__at_ int main (int argc, char const *const *argv)
       strerr_warnw2x("stdin contained a null character", " - using default instead") ;
     }
   }
-  else if (chomp && (value.s[value.len - 2] == '\n'))
+  else if (chomp && (value.len > 1) && (value.s[value.len - 2] == '\n'))
     value.s[--value.len - 1] = 0 ;
   el_modif_and_exec(argv + 1, argv[0], val, doimport) ;
 }
-- 
2.52.0
Received on Tue Jan 13 2026 - 00:00:08 CET

This archive was generated by hypermail 2.4.0 : Tue Jan 13 2026 - 00:12:12 CET