Language: JavaScript
Label: safe
CWE: CWE-400 \u2014 Uncontrolled Resource Consumption
The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.

Code:
function(m){D.apply(this,arguments);this.graph.model.isEdge(m.cell)&&1!=m.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(m)};mxGraphView.prototype.updateLineJumps=function(m){var q=m.absolutePoints;if(Graph.lineJumpsEnabled){var y=null!=m.routedPoints,F=null;if(null!=q&&null!=this.validEdges&&"none"!==mxUtils.getValue(m.style,"jumpStyle","none")){var C=function(ja,U,I){var V=new mxPoint(U,I);V.type=ja;F.push(V);V=null!=m.routedPoints?m.routedPoints[F.length-1]:null;return null==V||V.type!=
ja||V.x!=U||V.y!=I},H=.5*this.scale;y=!1;F=[];for(var G=0;G<q.length-1;G++){for(var aa=q[G+1],da=q[G],ba=[],Y=q[G+2];G<q.length-2&&mxUtils.ptSegDistSq(da.x,da.y,Y.x,Y.y,aa.x,aa.y)<1*this.scale*this.scale;)aa=Y,G++,Y=q[G+2];y=C(0,da.x,da.y)||y;for(var qa=0;qa<this.validEdges.length;qa++){var O=this.validEdges[qa],X=O.absolutePoints;if(null!=X&&mxUtils.intersects(m,O)&&"1"!=O.style.noJump)for(O=0;O<X.length-1;O++){var ea=X[O+1],ka=X[O];for(Y=X[O+2];O<X.length-2&&mxUtils.ptSegDistSq(ka.x,ka.y,Y.x,Y.y,
ea.x,ea.y)<1*this.scale*this.scale;)ea=Y,O++,Y=X[O+2];Y=mxUtils.intersection(da.x,da.y,aa.x,aa.y,ka.x,ka.y,ea.x,ea.y);if(null!=Y&&(Math.abs(Y.x-da.x)>H||Math.abs(Y.y-da.y)>H)&&(Math.abs(Y.x-aa.x)>H||Math.abs(Y.y-aa.y)>H)&&(Math.abs(Y.x-ka.x)>H||Math.abs(Y.y-ka.y)>H)&&(Math.abs(Y.x-ea.x)>H||Math.abs(Y.y-ea.y)>H)){ea=Y.x-da.x;ka=Y.y-da.y;Y={distSq:ea*ea+ka*ka,x:Y.x,y:Y.y};for(ea=0;ea<ba.length;ea++)if(ba[ea].distSq>Y.distSq){ba.splice(ea,0,Y);Y=null;break}null==Y||0!=ba.length&&ba[ba.length-1].x===
Y.x&&ba[ba.length-1].y===Y.y||ba.push(Y)}}}for(O=0;O<ba.length;O++)y=C(1,ba[O].x,ba[O].y)||y}Y=q[q.length-1];y=C(0,Y.x,Y.y)||y}m.routedPoints=F;return y}return!1};var t=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(m,q,y){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)t.apply(this,arguments);else{var F=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,