diff options
author | Mikhail Teterin <mi@FreeBSD.org> | 2014-04-30 17:43:50 +0000 |
---|---|---|
committer | Mikhail Teterin <mi@FreeBSD.org> | 2014-04-30 17:43:50 +0000 |
commit | 61e24ef5826e4374a3f64bbc9dd29d4c81fb31c6 (patch) | |
tree | 98f9902f8ab7e67295650cc250b7b034fc1c8871 /graphics/gdtclft | |
parent | 1057795801ce5d54212bba2104e651790f7311aa (diff) | |
download | ports-61e24ef5826e4374a3f64bbc9dd29d4c81fb31c6.tar.gz ports-61e24ef5826e4374a3f64bbc9dd29d4c81fb31c6.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)
Notes
Notes:
svn path=/head/; revision=352693
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. */ |