Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-88253

[REG 5.15 -> 6.0] QCborStreamReader allocates 2 GiB for 8 B file

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 6.0.0 Beta4
    • Fix Version/s: 6.0.1, 6.1.0 Alpha
    • Component/s: Core: I/O
    • Environment:
      Ubuntu 20.04 LTS 64 bit
      clang 10.0.0
      Built with qmake
    • Commits:
      9a55f40937d037d06e00b09465d8dad0554692fc (qt/qtbase/dev) 3caacb2f2bbd3947f79d9351b7c9af4517271875 (qt/qtbase/6.0)

      Description

      1. To visualize the problem without a debugger or memory limits, add the attached patch.
        It just adds a qDebug() to show which value is being passed into QByteArray::resize().
      2. Build Qt with that patch.
      3. Build the attached project on this build of Qt.
      4. Run the resulting program with the attached input.
        You'll see:
        Allocating 1
        Allocating 2147483641
        

        Allocating 2 GiB of memory doesn't seem appropriate for an 8 byte file.

      This is a regression from Qt 5.15. There, you'll only see:

      Allocating 1
      

        Attachments

        1. 0001-Add-debug-output.patch
          0.8 kB
        2. input.cbor
          0.0 kB
        3. main.cpp
          0.2 kB
        4. report.pro
          0.1 kB
        5. cleansed.cbor
          0.0 kB

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              thiago Thiago Macieira
              Reporter:
              rlohning Robert Löhning
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: