Language: JavaScript
Label: safe
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,m,u){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else{var v=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(L){this.setModified(this.getShadowModified());this.savingFile=!1;this.setDescriptorEtag(this.meta,L);this.fileSaved(A,D,mxUtils.bind(this,function(){this.contentChanged();
null!=f&&f()}),c)}),mxUtils.bind(this,function(L){this.savingFile=!1;this.isConflict(L)?(this.inConflictState=!0,null!=c&&(L.commitMessage=E,c(L))):null!=c&&c(L)}),m,E)}catch(L){if(this.savingFile=!1,null!=c)c(L);else throw L;}else this.savingFileTime=new Date,this.setShadowModified(!1),this.savingFile=!0,this.ui.pickFolder(this.getMode(),mxUtils.bind(this,function(L){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,L,E)}))});null!=u?v(u):this.peer.showCommitDialog(this.meta.name,null==this.getDescriptorEtag(this.meta)||this.meta.isNew,mxUtils.bind(this,function(E){v(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";