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:
mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,m,v,n){var t="0"!=mxUtils.getValue(m.style,"fixedSize","0"),B=t?aa.prototype.fixedSize:aa.prototype.size;null!=m&&(B=mxUtils.getValue(m.style,"size",B));t&&(B*=m.view.scale);var D=c.x,ha=c.y,I=c.width,va=c.height,na=c.getCenterX();c=c.getCenterY();m=null!=m?mxUtils.getValue(m.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;m==mxConstants.DIRECTION_EAST?(t=t?Math.max(0,Math.min(I,B)):I*Math.max(0,
Math.min(1,B)),ha=[new mxPoint(D,ha),new mxPoint(D+I-t,ha),new mxPoint(D+I,c),new mxPoint(D+I-t,ha+va),new mxPoint(D,ha+va),new mxPoint(D+t,c),new mxPoint(D,ha)]):m==mxConstants.DIRECTION_WEST?(t=t?Math.max(0,Math.min(I,B)):I*Math.max(0,Math.min(1,B)),ha=[new mxPoint(D+t,ha),new mxPoint(D+I,ha),new mxPoint(D+I-t,c),new mxPoint(D+I,ha+va),new mxPoint(D+t,ha+va),new mxPoint(D,c),new mxPoint(D+t,ha)]):m==mxConstants.DIRECTION_NORTH?(t=t?Math.max(0,Math.min(va,B)):va*Math.max(0,Math.min(1,B)),ha=[new mxPoint(D,
ha+t),new mxPoint(na,ha),new mxPoint(D+I,ha+t),new mxPoint(D+I,ha+va),new mxPoint(na,ha+va-t),new mxPoint(D,ha+va),new mxPoint(D,ha+t)]):(t=t?Math.max(0,Math.min(va,B)):va*Math.max(0,Math.min(1,B)),ha=[new mxPoint(D,ha),new mxPoint(na,ha+t),new mxPoint(D+I,ha),new mxPoint(D+I,ha+va-t),new mxPoint(na,ha+va),new mxPoint(D,ha+va-t),new mxPoint(D,ha)]);na=new mxPoint(na,c);n&&(v.x<D||v.x>D+I?na.y=v.y:na.x=v.x);return mxUtils.getPerimeterPoint(ha,na,v)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);