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

Corrupted QHttpMultiPart MIME multipart message

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 4.8.4, 4.8.5, 5.1.0
    • Fix Version/s: 4.8.6, 5.1.1
    • Component/s: Network
    • Labels:
    • Environment:
      Microsoft Windows XP Professional 32-bit SP3
      MinGW 4.8 (included with Qt 5.1.0)
    • Commits:
      4.8: 1f40ed553e618c3b0511c7db4b4fd26c2d2b65bf , 5.1: af96c6fed931564c95037539f07e9c8e33c69529

      Description

      The multipart data seems corrupted in some cases (test case attached):

      0014110: 5858 5858 5858 5858 a507 2202 0100 0000  XXXXXXXX..".....
      0014120: 2d00 0000 2e00 0000 1000 0000 2d2d 626f  -...........--bo
      0014130: 756e 6461 7279 5f2e 6f4f 6f2e 5f4d 5449  undary_.oOo._MTI
      0014140: 774d 7a63 3d4e 7a67 354d 673d 3d4d 5449  wMzc=Nzg5Mg==MTI
      

      The data being attached is a byte array filled with X characters. Notice the random data between the XXXXX and --boundary. I tested this uploading from a Windows system to a Linux server running nc -l -p 12000 connected by 100 Mbit ethernet switch.

      The corruption does not occur uploading from a Linux system to localhost. I have attached the data that was received in binary and also as a xxd hex dump.

        Attachments

        1. dump.bin
          80 kB
        2. dump.txt
          341 kB
        3. multipart_corruption.cpp
          2 kB
        For Gerrit Dashboard: QTBUG-32534
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            peter-har Peter Hartmann
            Reporter:
            net147 Jonathan Liu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes