fix(downloader): fix memory leak reported in #1791

This commit is contained in:
JellyBrick
2024-02-26 19:13:22 +09:00
parent 34f5411aec
commit fd6ba1eda1

View File

@ -1,5 +1,4 @@
import { import {
createWriteStream,
existsSync, existsSync,
mkdirSync, mkdirSync,
writeFileSync, writeFileSync,
@ -297,7 +296,7 @@ async function downloadSongUnsafe(
mkdirSync(dir); mkdirSync(dir);
} }
const fileBuffer = await iterableStreamToTargetFile( let fileBuffer = await iterableStreamToTargetFile(
iterableStream, iterableStream,
targetFileExtension, targetFileExtension,
metadata, metadata,
@ -307,19 +306,16 @@ async function downloadSongUnsafe(
increasePlaylistProgress, increasePlaylistProgress,
); );
if (fileBuffer && targetFileExtension === 'mp3') {
fileBuffer = await writeID3(
Buffer.from(fileBuffer),
metadata,
sendFeedback,
);
}
if (fileBuffer) { if (fileBuffer) {
if (targetFileExtension !== 'mp3') { writeFileSync(filePath, fileBuffer);
createWriteStream(filePath).write(fileBuffer);
} else {
const buffer = await writeID3(
Buffer.from(fileBuffer),
metadata,
sendFeedback,
);
if (buffer) {
writeFileSync(filePath, buffer);
}
}
} }
sendFeedback(null, -1); sendFeedback(null, -1);