diff options
author | mi <mi@FreeBSD.org> | 2014-05-01 01:43:50 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2014-05-01 01:43:50 +0800 |
commit | a0a7c24539a1753fcf89d3daca943cf3112819b5 (patch) | |
tree | 98f9902f8ab7e67295650cc250b7b034fc1c8871 /graphics/gdtclft | |
parent | 0bacded7d613f4a64953070209b1fe79dcf97ab5 (diff) | |
download | freebsd-ports-gnome-a0a7c24539a1753fcf89d3daca943cf3112819b5.tar.gz freebsd-ports-gnome-a0a7c24539a1753fcf89d3daca943cf3112819b5.tar.zst freebsd-ports-gnome-a0a7c24539a1753fcf89d3daca943cf3112819b5.zip |
Fix-up a bug in the new code, which prevented safe-interpreters from using even the already opened file-handles.
Bump PORTREVISION.
Reviewed by: John Ellson (upstream maintainer)
Diffstat (limited to 'graphics/gdtclft')
-rw-r--r-- | graphics/gdtclft/Makefile | 2 | ||||
-rw-r--r-- | graphics/gdtclft/files/patch-improve | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/graphics/gdtclft/Makefile b/graphics/gdtclft/Makefile index d967d98c17c7..765ae3019533 100644 --- a/graphics/gdtclft/Makefile +++ b/graphics/gdtclft/Makefile @@ -3,7 +3,7 @@ PORTNAME= Gdtclft PORTVERSION= 2.2.5 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= graphics tcl MASTER_SITES= DISTNAME= ${PORTNAME}${PORTVERSION} diff --git a/graphics/gdtclft/files/patch-improve b/graphics/gdtclft/files/patch-improve index 36b3bd4304b0..f2700dc59ea1 100644 --- a/graphics/gdtclft/files/patch-improve +++ b/graphics/gdtclft/files/patch-improve @@ -302,7 +302,7 @@ Use freely and get yourself a pademelon... + if (2+subcmdVec[subi].subcmds+subcmdVec[subi].ishandle > (unsigned)argc) { Tcl_SetResult(interp, "GD handle(s) not specified", TCL_STATIC); return TCL_ERROR; -@@ -369,12 +392,26 @@ +@@ -369,12 +392,27 @@ subcmdVec[subi].ishandle); argi++) { - if (! gdHandleXlate(interp, gdData->handleTbl, @@ -321,10 +321,11 @@ Use freely and get yourself a pademelon... + if (clientData != NULL && subcmdVec[subi].unsafearg != 0) { + const char *fname = + Tcl_GetString(objv[subcmdVec[subi].unsafearg]); -+ if (!Tcl_IsChannelExisting(fname)) -+ Tcl_AppendResult(interp, "Access to ", fname, -+ " not allowed in safe interpreter", TCL_STATIC); -+ return TCL_ERROR; ++ if (!Tcl_IsChannelExisting(fname)) { ++ Tcl_AppendResult(interp, "Access to ", fname, ++ " not allowed in safe interpreter", TCL_STATIC); ++ return TCL_ERROR; ++ } + } + /* Call the subcommand function. */ |