mirror of
https://github.com/marcrobledo/RomPatcher.js.git
synced 2025-06-27 16:25:54 +00:00
added zip extension check, fixing #53
This commit is contained in:
parent
83ddcd23fc
commit
0769fae972
5 changed files with 17 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
|||
/* MODDED VERSION OF MarcFile.js v20181020 - Marc Robledo 2014-2018 - http://www.marcrobledo.com/license */
|
||||
/* MODDED VERSION OF MarcFile.js v20230202 - Marc Robledo 2014-2023 - http://www.marcrobledo.com/license */
|
||||
|
||||
function MarcFile(source, onLoad){
|
||||
if(typeof source==='object' && source.files) /* get first file only if source is input with multiple files */
|
||||
|
@ -146,6 +146,13 @@ MarcFile.prototype.save=function(){
|
|||
}
|
||||
|
||||
|
||||
MarcFile.prototype.getExtension=function(){
|
||||
var ext=this.fileName? this.fileName.toLowerCase().match(/\.(\w+)$/) : '';
|
||||
|
||||
return ext? ext[1] : '';
|
||||
}
|
||||
|
||||
|
||||
MarcFile.prototype.readU8=function(){
|
||||
this._lastRead=this._u8array[this.offset];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Rom Patcher JS v20221110 - Marc Robledo 2016-2022 - http://www.marcrobledo.com/license */
|
||||
/* Rom Patcher JS v20230202 - Marc Robledo 2016-2023 - http://www.marcrobledo.com/license */
|
||||
|
||||
const TOO_BIG_ROM_SIZE=67108863;
|
||||
const HEADERS_INFO=[
|
||||
|
@ -141,7 +141,7 @@ function fetchPatch(customPatchIndex, compressedFileIndex){
|
|||
patchFile=CUSTOM_PATCHER[customPatchIndex].fetchedFile=new MarcFile(arrayBuffer);
|
||||
patchFile.fileName=customPatch.file.replace(/^.*[\/\\]/g,'');
|
||||
|
||||
if(patchFile.readString(4).startsWith(ZIP_MAGIC))
|
||||
if(patchFile.getExtension()==='zip' && patchFile.readString(4).startsWith(ZIP_MAGIC))
|
||||
ZIPManager.parseFile(CUSTOM_PATCHER[customPatchIndex].fetchedFile, compressedFileIndex);
|
||||
else
|
||||
parseCustomPatch(CUSTOM_PATCHER[customPatchIndex]);
|
||||
|
@ -161,7 +161,7 @@ function fetchPatch(customPatchIndex, compressedFileIndex){
|
|||
patchFile=CUSTOM_PATCHER[customPatchIndex].fetchedFile=new MarcFile(xhr.response);
|
||||
patchFile.fileName=customPatch.file.replace(/^.*[\/\\]/g,'');
|
||||
|
||||
if(patchFile.readString(4).startsWith(ZIP_MAGIC))
|
||||
if(patchFile.getExtension()==='zip' && patchFile.readString(4).startsWith(ZIP_MAGIC))
|
||||
ZIPManager.parseFile(CUSTOM_PATCHER[customPatchIndex].fetchedFile, compressedFileIndex);
|
||||
else
|
||||
parseCustomPatch(CUSTOM_PATCHER[customPatchIndex]);
|
||||
|
@ -184,7 +184,7 @@ function _parseROM(){
|
|||
el('checkbox-addheader').checked=false;
|
||||
el('checkbox-removeheader').checked=false;
|
||||
|
||||
if(romFile.readString(4).startsWith(ZIP_MAGIC)){
|
||||
if(romFile.getExtension()==='zip' && romFile.readString(4).startsWith(ZIP_MAGIC)){
|
||||
ZIPManager.parseFile(romFile);
|
||||
setTabApplyEnabled(false);
|
||||
}else{
|
||||
|
@ -653,7 +653,7 @@ function _readPatchFile(){
|
|||
patchFile.littleEndian=false;
|
||||
|
||||
var header=patchFile.readString(6);
|
||||
if(header.startsWith(ZIP_MAGIC)){
|
||||
if(patchFile.getExtension()==='zip' && header.startsWith(ZIP_MAGIC)){
|
||||
patch=false;
|
||||
validateSource();
|
||||
setTabApplyEnabled(false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue