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:
function(M){y.apply(this,arguments);this.graph.model.isEdge(M.cell)&&1!=M.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(M)};mxGraphView.prototype.updateLineJumps=function(M){var R=M.absolutePoints;if(Graph.lineJumpsEnabled){var W=null!=M.routedPoints,d=null;if(null!=R&&null!=this.validEdges&&"none"!==mxUtils.getValue(M.style,"jumpStyle","none")){var f=function(ja,ma,aa){var S=new mxPoint(ma,aa);S.type=ja;d.push(S);S=null!=M.routedPoints?M.routedPoints[d.length-1]:null;return null==S||S.type!=
ja||S.x!=ma||S.y!=aa},k=.5*this.scale;W=!1;d=[];for(var u=0;u<R.length-1;u++){for(var z=R[u+1],C=R[u],F=[],K=R[u+2];u<R.length-2&&mxUtils.ptSegDistSq(C.x,C.y,K.x,K.y,z.x,z.y)<1*this.scale*this.scale;)z=K,u++,K=R[u+2];W=f(0,C.x,C.y)||W;for(var O=0;O<this.validEdges.length;O++){var H=this.validEdges[O],ka=H.absolutePoints;if(null!=ka&&mxUtils.intersects(M,H)&&"1"!=H.style.noJump)for(H=0;H<ka.length-1;H++){var fa=ka[H+1],ca=ka[H];for(K=ka[H+2];H<ka.length-2&&mxUtils.ptSegDistSq(ca.x,ca.y,K.x,K.y,fa.x,
fa.y)<1*this.scale*this.scale;)fa=K,H++,K=ka[H+2];K=mxUtils.intersection(C.x,C.y,z.x,z.y,ca.x,ca.y,fa.x,fa.y);if(null!=K&&(Math.abs(K.x-C.x)>k||Math.abs(K.y-C.y)>k)&&(Math.abs(K.x-z.x)>k||Math.abs(K.y-z.y)>k)){fa=K.x-C.x;ca=K.y-C.y;K={distSq:fa*fa+ca*ca,x:K.x,y:K.y};for(fa=0;fa<F.length;fa++)if(F[fa].distSq>K.distSq){F.splice(fa,0,K);K=null;break}null==K||0!=F.length&&F[F.length-1].x===K.x&&F[F.length-1].y===K.y||F.push(K)}}}for(H=0;H<F.length;H++)W=f(1,F[H].x,F[H].y)||W}K=R[R.length-1];W=f(0,K.x,
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))-