Language: JavaScript
Label: safe
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 Q=0;Q<M.length;Q++){var S=M[Q];switch(S.type){case "path":null!=F.stroke&&this._drawToContext(g,S,F);break;case "fillPath":this._drawToContext(g,S,F);break;case "fillSketch":this.fillSketch(g,S,F)}}};x.fillSketch=function(F,M,Q){var S=g.state.strokeColor,W=g.state.strokeWidth,T=g.state.strokeAlpha,X=g.state.dashed,Z=Q.fillWeight;
0>Z&&(Z=Q.strokeWidth/2);g.setStrokeAlpha(g.state.fillAlpha);g.setStrokeColor(Q.fill||"");g.setStrokeWidth(Z);g.setDashed(!1);this._drawToContext(F,M,Q);g.setDashed(X);g.setStrokeWidth(W);g.setStrokeColor(S);g.setStrokeAlpha(T)};x._drawToContext=function(F,M,Q){F.begin();for(var S=0;S<M.ops.length;S++){var W=M.ops[S],T=W.data;switch(W.op){case "move":F.moveTo(T[0],T[1]);break;case "bcurveTo":F.curveTo(T[0],T[1],T[2],T[3],T[4],T[5]);break;case "lineTo":F.lineTo(T[0],T[1])}}F.end();"fillPath"===M.type&&
Q.filled?F.fill():F.stroke()};return x};(function(){function g(S,W,T){this.canvas=S;this.rc=W;this.shape=T;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=