<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - poppler-0.44.0: infinity loop: Syntax Error (448): Dictionary key must be a name object / Bad 'Length' attribute in stream"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=96217">96217</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>poppler-0.44.0: infinity loop: Syntax Error (448): Dictionary key must be a name object / Bad 'Length' attribute in stream
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>poppler
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>general
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>poppler-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>legarrec.vincent@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Dear,
Now that all crashes found by afl are solved (thanks :)), there's lots of pdf
that run into infinity (?) loop.

The infinity loop comes after that the recursion of Parser::makeStream have the
number 500.

output:

Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Length' attribute in stream
Syntax Error (448): Dictionary key must be a name object
Syntax Error (448): Dictionary key must be a name object
Syntax Error (448): Dictionary key must be a name object
Syntax Error (448): Dictionary key must be a name object
Syntax Error (482): Bad 'Length' attribute in stream
Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Length' attribute in stream
Syntax Error (448): Dictionary key must be a name object
Syntax Error (482): Bad 'Length' attribute in stream
Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Filter' attribute in stream
Syntax Error (482): Bad 'Length' attribute in stream
Syntax Error (448): Dictionary key must be a name object


gdb output:
#0  0x00007ffff7a1f930 in __afl_maybe_log () from
/home/legarrec/info/programmation/tmp/poppler-0.44.0/poppler/.libs/libpoppler.so.61
#1  0x00007ffff7a16162 in GooString::append (this=0x74d980, c=108 'l') at
GooString.cc:275
#2  0x000000000000006c in ?? ()
#3  0x0000000000000002 in ?? ()
#4  0x000000000074d980 in ?? ()
#5  0x000000000074d980 in ?? ()
#6  0x00007ffffffbcce0 in ?? ()
#7  0x00007ffff7a15e2e in memcpy (__len=7, __src=0x7ffff7da9e20 <vtable for
FileStream+16>, __dest=<optimized out>) at /usr/include/bits/string3.h:53
#8  GooString::append (this=0x1e2, this@entry=0x74d980, str=0x7ffff7da9e20
<vtable for FileStream+16> "\300\207\214\367\377\177", str@entry=0x7ffffffbcb7c
"i", lengthA=7, lengthA@entry=1) at GooString.cc:288
#9  0x00007ffff7a16190 in GooString::append (this=this@entry=0x74d980, c=105
'i') at GooString.cc:276
#10 0x00007ffff76f4967 in error (category=category@entry=errSyntaxError,
pos=482, msg=msg@entry=0x7ffff7b2fd98 "Bad 'Filter' attribute in stream") at
Error.cc:80
#11 0x00007ffff78e9f69 in Stream::addFilters (this=this@entry=0x74e1e0,
dict=dict@entry=0x7ffffffbcf80, recursion=recursion@entry=499) at Stream.cc:207
#12 0x00007ffff789dbbe in Parser::makeStream (this=this@entry=0x74df10,
dict=dict@entry=0x7ffffffbcf80, fileKey=fileKey@entry=0x0,
encAlgorithm=encAlgorithm@entry=(cryptAES256 | unknown: 774974788),
keyLength=keyLength@entry=-1020982732, objNum=objNum@entry=6, objGen=0,
recursion=499, strict=false) at Parser.cc:277
#13 0x00007ffff789e8cc in Parser::getObj (this=this@entry=0x74df10,
obj=obj@entry=0x7ffffffbcf80, simpleOnly=simpleOnly@entry=false, fileKey=0x0,
encAlgorithm=(cryptAES256 | unknown: 774974788),
keyLength=keyLength@entry=-1020982732, objNum=6, objGen=0, recursion=498,
strict=false) at Parser.cc:131
#14 0x00007ffff7936bb1 in XRef::fetch (this=0x678140, num=<optimized out>,
gen=<optimized out>, obj=0x7ffffffbcf80, obj@entry=0x6,
recursion=recursion@entry=498) at XRef.cc:1210
#15 0x00007ffff7887344 in Object::fetch (this=<optimized out>, xref=<optimized
out>, obj=obj@entry=0x6, recursion=recursion@entry=498) at Object.cc:122
#16 0x00007ffff76f0ccd in Dict::lookup (this=<optimized out>,
key=key@entry=0x7ffff7b2ff67 "F", obj=0x6, obj@entry=0x7ffffffbcf80,
recursion=recursion@entry=498) at Dict.cc:261
#17 0x00007ffff78ea34d in Object::dictLookup (this=0x7ffffffbd250,
this=0x7ffffffbd250, recursion=498, obj=0x7ffffffbcf80, key=0x7ffff7b2ff67 "F")
at Object.h:330
#18 Stream::addFilters (this=this@entry=0x74da30,
dict=dict@entry=0x7ffffffbd250, recursion=recursion@entry=498) at Stream.cc:181
#19 0x00007ffff789dbbe in Parser::makeStream (this=this@entry=0x74d700,
dict=dict@entry=0x7ffffffbd250, fileKey=fileKey@entry=0x0,
encAlgorithm=encAlgorithm@entry=(cryptAES256 | unknown: 774974788),
keyLength=keyLength@entry=-1020982732, objNum=objNum@entry=6, objGen=0,
recursion=498, strict=false) at Parser.cc:277
#20 0x00007ffff789e8cc in Parser::getObj (this=this@entry=0x74d700,
obj=obj@entry=0x7ffffffbd250, simpleOnly=simpleOnly@entry=false, fileKey=0x0,
encAlgorithm=(cryptAES256 | unknown: 774974788),
keyLength=keyLength@entry=-1020982732, objNum=6, objGen=0, recursion=497,
strict=false) at Parser.cc:131
#21 0x00007ffff7936bb1 in XRef::fetch (this=0x678140, num=<optimized out>,
gen=<optimized out>, obj=0x7ffffffbd250, obj@entry=0x6,
recursion=recursion@entry=497) at XRef.cc:1210
#22 0x00007ffff7887344 in Object::fetch (this=<optimized out>, xref=<optimized
out>, obj=obj@entry=0x6, recursion=recursion@entry=497) at Object.cc:122
#23 0x00007ffff76f0ccd in Dict::lookup (this=<optimized out>,
key=key@entry=0x7ffff7b15f2d "Length", obj=0x6, obj@entry=0x7ffffffbd250,
recursion=recursion@entry=497) at Dict.cc:261
#24 0x00007ffff789d427 in Object::dictLookup (key=0x7ffff7b15f2d "Length",
this=0x7ffffffbd450, this=0x7ffffffbd450, recursion=497, obj=0x7ffffffbd250) at
Object.h:330</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>