Tcl Source Code

View Ticket
Login
Ticket UUID: 5bbd044812bdb410016924337634b79d9892a8
Title: Fix index underflow
Type: Bug Version: any
Submitter: anonymous Created on: 2020-05-27 13:28:55
Subsystem: 16. Commands A-H Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2020-07-16 13:46:45
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2020-07-16 13:46:45
Description:
From 3f0d4884b97007112100a18e4a3cb95b193a1dec Mon Sep 17 00:00:00 2001
From: Andreas Schwab <[email protected]>
Date: Wed, 27 May 2020 15:18:19 +0200
Subject: [PATCH] Fix index underflow

---
 generic/tclFileName.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/generic/tclFileName.c b/generic/tclFileName.c
index 7ff7eecae..5e7b70dbe 100644
--- a/generic/tclFileName.c
+++ b/generic/tclFileName.c
@@ -2448,7 +2448,7 @@ DoGlob(
 		size_t len;
 		const char *joined = TclGetStringFromObj(joinedPtr,&len);
 
-		if (strchr(separators, joined[len-1]) == NULL) {
+		if (len != 0 && strchr(separators, joined[len-1]) == NULL) {
 		    Tcl_AppendToObj(joinedPtr, "/", 1);
 		}
 	    }
@@ -2485,7 +2485,7 @@ DoGlob(
 	    size_t len;
 	    const char *joined = TclGetStringFromObj(joinedPtr,&len);
 
-	    if (strchr(separators, joined[len-1]) == NULL) {
+	    if (len != 0 && strchr(separators, joined[len-1]) == NULL) {
 		if (Tcl_FSGetPathType(pathPtr) != TCL_PATH_VOLUME_RELATIVE) {
 		    Tcl_AppendToObj(joinedPtr, "/", 1);
 		}
-- 
2.26.2
User Comments: jan.nijtmans added on 2020-07-16 13:45:08:

Fixed now in core-8-6-branch and up.