Language: JavaScript
Label: safe
CWE: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Code:
J.y)||W}K.routedPoints=d;return W}return!1};var q=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(K,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"),v=!0,z=null,A=null,H=[],J=null;K.begin();for(var O=0;O<this.state.routedPoints.length;O++){var G=this.state.routedPoints[O],ja=new mxPoint(G.x/this.scale,G.y/this.scale);0==O?ja=R[0]:O==this.state.routedPoints.length-1&&(ja=R[R.length-1]);var fa=!1;if(null!=z&&1==G.type){var ca=this.state.routedPoints[O+1];G=ca.x/this.scale-ja.x;ca=ca.y/this.scale-ja.y;G=G*G+ca*ca;null==J&&(J=new mxPoint(ja.x-z.x,ja.y-z.y),A=Math.sqrt(J.x*J.x+
J.y*J.y),0<A?(J.x=J.x*f/A,J.y=J.y*f/A):J=null);G>f*f&&0<A&&(G=z.x-ja.x,ca=z.y-ja.y,G=G*G+ca*ca,G>f*f&&(fa=new mxPoint(ja.x-J.x,ja.y-J.y),G=new mxPoint(ja.x+J.x,ja.y+J.y),H.push(fa),this.addPoints(K,H,W,d,!1,null,v),H=0>Math.round(J.x)||0==Math.round(J.x)&&0>=Math.round(J.y)?1:-1,v=!1,"sharp"==k?(K.lineTo(fa.x-J.y*H,fa.y+J.x*H),K.lineTo(G.x-J.y*H,G.y+J.x*H),K.lineTo(G.x,G.y)):"line"==k?(K.moveTo(fa.x+J.y*H,fa.y-J.x*H),K.lineTo(fa.x-J.y*H,fa.y+J.x*H),K.moveTo(G.x-J.y*H,G.y+J.x*H),K.lineTo(G.x+J.y*H,
G.y-J.x*H),K.moveTo(G.x,G.y)):"arc"==k?(H*=1.3,K.curveTo(fa.x-J.y*H,fa.y+J.x*H,G.x-J.y*H,G.y+J.x*H,G.x,G.y)):(K.moveTo(G.x,G.y),v=!0),H=[G],fa=!0))}else J=null;fa||(H.push(ja),z=ja)}this.addPoints(K,H,W,d,!1,null,v);K.stroke()}};var E=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(K,R,W,d){return null!=R&&"centerPerimeter"==R.style[mxConstants.STYLE_PERIMETER]?new mxPoint(R.getCenterX(),R.getCenterY()):E.apply(this,arguments)};var M=mxGraphView.prototype.updateFloatingTerminalPoint;