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:
K.y)||W}M.routedPoints=d;return W}return!1};var q=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(M,R,W){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)q.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-
2)/2+this.strokewidth,k=mxUtils.getValue(this.style,"jumpStyle","none"),u=!0,z=null,C=null,F=[],K=null;M.begin();for(var O=0;O<this.state.routedPoints.length;O++){var H=this.state.routedPoints[O],ka=new mxPoint(H.x/this.scale,H.y/this.scale);0==O?ka=R[0]:O==this.state.routedPoints.length-1&&(ka=R[R.length-1]);var fa=!1;if(null!=z&&1==H.type){var ca=this.state.routedPoints[O+1];H=ca.x/this.scale-ka.x;ca=ca.y/this.scale-ka.y;H=H*H+ca*ca;null==K&&(K=new mxPoint(ka.x-z.x,ka.y-z.y),C=Math.sqrt(K.x*K.x+
K.y*K.y),0<C?(K.x=K.x*f/C,K.y=K.y*f/C):K=null);H>f*f&&0<C&&(H=z.x-ka.x,ca=z.y-ka.y,H=H*H+ca*ca,H>f*f&&(fa=new mxPoint(ka.x-K.x,ka.y-K.y),H=new mxPoint(ka.x+K.x,ka.y+K.y),F.push(fa),this.addPoints(M,F,W,d,!1,null,u),F=0>Math.round(K.x)||0==Math.round(K.x)&&0>=Math.round(K.y)?1:-1,u=!1,"sharp"==k?(M.lineTo(fa.x-K.y*F,fa.y+K.x*F),M.lineTo(H.x-K.y*F,H.y+K.x*F),M.lineTo(H.x,H.y)):"line"==k?(M.moveTo(fa.x+K.y*F,fa.y-K.x*F),M.lineTo(fa.x-K.y*F,fa.y+K.x*F),M.moveTo(H.x-K.y*F,H.y+K.x*F),M.lineTo(H.x+K.y*F,
H.y-K.x*F),M.moveTo(H.x,H.y)):"arc"==k?(F*=1.3,M.curveTo(fa.x-K.y*F,fa.y+K.x*F,H.x-K.y*F,H.y+K.x*F,H.x,H.y)):(M.moveTo(H.x,H.y),u=!0),F=[H],fa=!0))}else K=null;fa||(F.push(ka),z=ka)}this.addPoints(M,F,W,d,!1,null,u);M.stroke()}};var E=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(M,R,W,d){return null!=R&&"centerPerimeter"==R.style[mxConstants.STYLE_PERIMETER]?new mxPoint(R.getCenterX(),R.getCenterY()):E.apply(this,arguments)};var L=mxGraphView.prototype.updateFloatingTerminalPoint;