Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/errors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,8 @@ function getErrorMessage(errno: number): string {
return `Unknown LZMA error code: ${errno}`;
}
const msg = messages[errno];
/* v8 ignore start: defensive after bounds check on L172 — errno always in [0, messages.length) here */
if (msg === undefined) return `Unknown LZMA error code: ${errno}`;
/* v8 ignore stop */
return msg;
}
2 changes: 2 additions & 0 deletions src/pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,15 @@ export class LZMAPool extends EventEmitter {
}

const item = this.queue.shift();
/* v8 ignore start: defensive after queue.length > 0 guard on L163 — shift() always returns a value here */
if (item === undefined) {
// The `this.queue.length === 0` early-return guard above means shift()
// must return a value here. Returning silently would let queued tasks
// stall on a future invariant breach (re-entrancy, refactor, etc.).
// Throw so the bug surfaces at the breach instead of as a hung pool.
throw new Error('Invariant violation: queue was non-empty but shift() returned undefined');
}
/* v8 ignore stop */

this.metrics.active++;
this.metrics.queued = this.queue.length;
Expand Down
Loading