summaryrefslogtreecommitdiffstats
path: root/generic/tclFileName.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2006-09-27 13:49:05 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2006-09-27 13:49:05 (GMT)
commita14dc8880490ddf17e78d3eacf6e892dd3dd6a67 (patch)
treeb69d2e99baae959ebfca8a6bc3c0d1f4feee743d /generic/tclFileName.c
parentb725003f03a39521f6ea93c9ee3f7a688eb96674 (diff)
downloadtcl-a14dc8880490ddf17e78d3eacf6e892dd3dd6a67.zip
tcl-a14dc8880490ddf17e78d3eacf6e892dd3dd6a67.tar.gz
tcl-a14dc8880490ddf17e78d3eacf6e892dd3dd6a67.tar.bz2
* generic/tclFileName.c (TclGlob): added a panic for a call with
TCL_GLOBMODE_TAILS and pathPrefix==NULL. This would cause a segfault, as found by coverity #26.
Diffstat (limited to 'generic/tclFileName.c')
-rw-r--r--generic/tclFileName.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/generic/tclFileName.c b/generic/tclFileName.c
index ec872d0..590c180 100644
--- a/generic/tclFileName.c
+++ b/generic/tclFileName.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclFileName.c,v 1.75 2006/08/30 17:56:57 hobbs Exp $
+ * RCS: @(#) $Id: tclFileName.c,v 1.76 2006/09/27 13:49:06 msofer Exp $
*/
#include "tclInt.h"
@@ -1894,12 +1894,17 @@ TclGlob(
int objc, i;
Tcl_Obj **objv;
int prefixLen;
+ CONST char *pre;
/*
* If this length has never been set, set it here.
*/
- CONST char *pre = Tcl_GetStringFromObj(pathPrefix, &prefixLen);
+ if (pathPrefix == NULL) {
+ Tcl_Panic("Called TclGlob with TCL_GLOBMODE_TAILS and pathPrefix==NULL");
+ }
+
+ pre = Tcl_GetStringFromObj(pathPrefix, &prefixLen);
if (prefixLen > 0
&& (strchr(separators, pre[prefixLen-1]) == NULL)) {
/*