Attach (recommended) or Link to PDF file here: [A3_Quer.pdf](https://github.com/mozilla/pdf.js/files/7373152/A3_Quer.pdf)


**Configuration:**

- Web browser and its version: Firefox 93.0
- Operating system and its version: macOS 11.6
- PDF.js version: 2.5.207
- Is a browser extension: no

**Steps to reproduce the problem:**
1. Open the attached file in Firefox

We discovered this issue in on older version of this library, but it can be reproduced in the current version of Firefox.

**What is the expected behavior? (add screenshot)**
The file should be rendered with a linear gradient as a background:
![Bildschirmfoto 2021-10-19 um 14 34 00](https://user-images.githubusercontent.com/8649002/137910027-07947e34-700b-4692-b225-d38c36da0d37.png)


**What went wrong? (add screenshot)**
The file is rendered without any background:
![Bildschirmfoto 2021-10-19 um 14 35 05](https://user-images.githubusercontent.com/8649002/137910215-a6b8fb9e-ff95-49f0-93b4-c9f127bd49c1.png)



**Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):**
none
let buffer = this.buffer;
    let bufferLength = this.bufferLength;
    if (n === 32) {
      if (bufferLength === 0) {
        return (
          ((this.stream.getByte() << 24) |
            (this.stream.getByte() << 16) |
            (this.stream.getByte() << 8) |
            this.stream.getByte()) >>>
          0
        );
      }
      buffer =
        (buffer << 24) |
        (this.stream.getByte() << 16) |
        (this.stream.getByte() << 8) |
        this.stream.getByte();
      const nextByte = this.stream.getByte();
      this.buffer = nextByte & ((1 << bufferLength) - 1);
      return (
        ((buffer << (8 - bufferLength)) |
          ((nextByte & 0xff) >> bufferLength)) >>>
        0
      );
    }
    if (n === 8 && bufferLength === 0) {
      return this.stream.getByte();
    }
    while (bufferLength < n) {