Language: JavaScript
Label: vulnerable
CWE: CWE-78 \u2014 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.

Code:
Editor.createRoughCanvas=function(g){var x=rough.canvas({getContext:function(){return g}});x.draw=function(F){var M=F.sets||[];F=F.options||this.getDefaultOptions();for(var P=0;P<M.length;P++){var T=M[P];switch(T.type){case "path":null!=F.stroke&&this._drawToContext(g,T,F);break;case "fillPath":this._drawToContext(g,T,F);break;case "fillSketch":this.fillSketch(g,T,F)}}};x.fillSketch=function(F,M,P){var T=g.state.strokeColor,W=g.state.strokeWidth,U=g.state.strokeAlpha,X=g.state.dashed,Z=P.fillWeight;
0>Z&&(Z=P.strokeWidth/2);g.setStrokeAlpha(g.state.fillAlpha);g.setStrokeColor(P.fill||"");g.setStrokeWidth(Z);g.setDashed(!1);this._drawToContext(F,M,P);g.setDashed(X);g.setStrokeWidth(W);g.setStrokeColor(T);g.setStrokeAlpha(U)};x._drawToContext=function(F,M,P){F.begin();for(var T=0;T<M.ops.length;T++){var W=M.ops[T],U=W.data;switch(W.op){case "move":F.moveTo(U[0],U[1]);break;case "bcurveTo":F.curveTo(U[0],U[1],U[2],U[3],U[4],U[5]);break;case "lineTo":F.lineTo(U[0],U[1])}}F.end();"fillPath"===M.type&&
P.filled?F.fill():F.stroke()};return x};(function(){function g(T,W,U){this.canvas=T;this.rc=W;this.shape=U;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,g.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,g.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,g.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=