summaryrefslogtreecommitdiffstats
path: root/ext/tcltklib/tcltklib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tcltklib/tcltklib.c')
-rw-r--r--ext/tcltklib/tcltklib.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/tcltklib/tcltklib.c b/ext/tcltklib/tcltklib.c
index 06322b54f..9f6f54b5c 100644
--- a/ext/tcltklib/tcltklib.c
+++ b/ext/tcltklib/tcltklib.c
@@ -635,7 +635,8 @@ ip_eval(self, str)
DUMP2("(TCL_Eval result) %d", ptr->return_value);
/* pass back the result (as string) */
- return(rb_str_new2(ptr->ip->result));
+ /* return(rb_str_new2(ptr->ip->result)); */
+ return(rb_tainted_str_new2(ptr->ip->result));
}
@@ -665,7 +666,8 @@ ip_toUTF8(self, str, encodename)
Tcl_DStringInit(&dstr);
Tcl_DStringFree(&dstr);
Tcl_ExternalToUtfDString(encoding,buf,strlen(buf),&dstr);
- str = rb_str_new2(Tcl_DStringValue(&dstr));
+ /* str = rb_str_new2(Tcl_DStringValue(&dstr)); */
+ str = rb_tainted_str_new2(Tcl_DStringValue(&dstr));
Tcl_FreeEncoding(encoding);
Tcl_DStringFree(&dstr);
@@ -699,7 +701,8 @@ ip_fromUTF8(self, str, encodename)
Tcl_DStringInit(&dstr);
Tcl_DStringFree(&dstr);
Tcl_UtfToExternalDString(encoding,buf,strlen(buf),&dstr);
- str = rb_str_new2(Tcl_DStringValue(&dstr));
+ /* str = rb_str_new2(Tcl_DStringValue(&dstr)); */
+ str = rb_tainted_str_new2(Tcl_DStringValue(&dstr));
Tcl_FreeEncoding(encoding);
Tcl_DStringFree(&dstr);
@@ -796,7 +799,8 @@ ip_invoke_real(argc, argv, obj)
}
/* pass back the result (as string) */
- return rb_str_new2(ptr->ip->result);
+ /* return rb_str_new2(ptr->ip->result); */
+ return rb_tainted_str_new2(ptr->ip->result);
}
VALUE