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:
GitHubFile.prototype.saveFile=function(b,e,f,c,k,l,u){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else{var x=mxUtils.bind(this,function(E){if(this.getTitle()==b)try{this.savingFileTime=new Date;this.setShadowModified(!1);this.savingFile=!0;var D=this.getCurrentEtag(),A=this.data;this.peer.saveFile(this,mxUtils.bind(this,function(K){this.setModified(this.getShadowModified());this.savingFile=!1;this.setDescriptorEtag(this.meta,K);this.fileSaved(A,D,mxUtils.bind(this,function(){this.contentChanged();
null!=f&&f()}),c)}),mxUtils.bind(this,function(K){this.savingFile=!1;this.isConflict(K)?(this.inConflictState=!0,null!=c&&(K.commitMessage=E,c(K))):null!=c&&c(K)}),l,E)}catch(K){if(this.savingFile=!1,null!=c)c(K);else throw K;}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.pickFolder(this.getMode(),mxUtils.bind(this,function(K){this.peer.insertFile(b,this.getData(),mxUtils.bind(this,function(H){this.setModified(this.getShadowModified());this.savingFile=!1;
null!=f&&f();this.ui.fileLoaded(H)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}),!1,K,E)}))});null!=u?x(u):this.peer.showCommitDialog(this.meta.name,null==this.getDescriptorEtag(this.meta)||this.meta.isNew,mxUtils.bind(this,function(E){x(E)}),c)}else null!=f&&f()};GitHubLibrary=function(b,e,f){GitHubFile.call(this,b,e,f)};mxUtils.extend(GitHubLibrary,GitHubFile);GitHubLibrary.prototype.doSave=function(b,e,f){this.saveFile(b,!1,e,f)};GitHubLibrary.prototype.open=function(){};(function(){var b=null;window.GitHubClient=function(e,f){DrawioClient.call(this,e,f||"ghauth")};mxUtils.extend(GitHubClient,DrawioClient);GitHubClient.prototype.clientId="test.draw.io"==window.location.hostname?"Iv1.1218f5567fbc258a":window.DRAWIO_GITHUB_ID;GitHubClient.prototype.extension=".drawio";GitHubClient.prototype.baseUrl=DRAWIO_GITHUB_API_URL;GitHubClient.prototype.baseHostUrl=DRAWIO_GITHUB_URL;GitHubClient.prototype.redirectUri=window.location.protocol+"//"+window.location.host+"/github2";