From 25a902e98e968de9a1d35c60e67b5789c91d0c8c Mon Sep 17 00:00:00 2001 From: Brian Huisman Date: Mon, 31 Jul 2023 13:25:34 -0400 Subject: [PATCH 1/3] Allow for CRC23 checksum gzuncompress() A zlib compressed stream may have a CRC32 checksum instead of Adler-32 which the PHP gzuncompress() function expects. Add a second zlib decompression attempt if the first one fails. See: https://www.php.net/manual/en/function.gzuncompress.php#79042 Partially resolves #592. --- samples/bugs/Issue592.pdf | Bin 0 -> 142962 bytes src/Smalot/PdfParser/RawData/FilterHelper.php | 20 +++++++++++++++++- .../Integration/RawData/FilterHelperTest.php | 13 +++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 samples/bugs/Issue592.pdf diff --git a/samples/bugs/Issue592.pdf b/samples/bugs/Issue592.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3fe531e99f82f5b56cd5b7c7cce74f9d11287a2c GIT binary patch literal 142962 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 h6-;xXo z@@*riFZ>Oig2jVaWMNd9{od)X#qSR%h}xbH`s5_62%Dxd(Aa26D%tqWGXzQWvTaGTOkRz3= z8mu)2C*kEfX20h_3qJ)uk8c#=yEH)z`g}5E*ySa2e+;rYKV;Jw_&K!~)|qzCP+SOg zPKH(tARJT;#X6J#gsU!9%hyLt-`*azXoj(X7hyAhhj><56?@Nu>_T0~3sj4s{?_B2y}qV&w=;w{qBQ&iS738> zU_MOv4TjF7PuwVy#^XKdhypCCBqELqm>cqJ>c?)luqWwEdiiJm!?61TW1MpwC}arV zTgScB1@De6B8bjqjIU3HkMLy8dr(f?oHKzKfT|7YjPH3wF0kt^;{;_;rp&1@w1K$! z3pZt=+?uYrF8no5Mw%*;9R*|HxQNYO_&Z##o&`{RbNymY9m+PDEe+~M;+QYb zbY5Xw2BrtSumfhqPqPR<_BGqdlx|7|snGXNoWhoT`)IWFH@O1_EK32Nq(48mZ&$1$ zjsxJkv7(54-t>t_KX5axFw4TsSiEO2`1+ac(Wg0ykUavR7$u@R$nxX8#{i+k`q;&g z{n$(W-wWuvVegR1dy&Q7$;dsShq>GjiQLP+(4Nt#8uzYJ`o?>I%P~L`@@66&wGXz- znu`r2n!>k2i8R{N0g?xH42ShHa+@W+Lo_KEP`GIE#H}InbzzxaGkT*@6thfeT5}+u zf5sg<3q^QM6bKMVHeQH&BHbvtBYu+nVc|_c4+iALY{_##Xp+A;+m8)^IZFDG=WE*f zYst88ac@Nj_#*BpBlAwrh6=!@5r|>zE&0AJ7;4MGO31JMp?~V;!$o%?Vz4Bgu@}~K ztl2s6KeQ{)sv04CP{2(M{Kw=0G=zwMRx?_8qXI~%|G`<{H&Hv=L&iD%PRXAXnnSLF zU2!ni=E;2tojFgRaPc>r5&(!e>@5Sk5l&&RafK&?O&JgdJ>h|!ILJ#ir$3Sqx{^8KK;J;ZQjX~s`HC^R-{1oAh7}LO}LucaT!|CaG=?K zN@Q3%3*kyg#zG>38d;E%_diXV)vdTPZb7yv6BHR#{;Ze);$HMTsvu4dw!M9%@4*G8W0}D3u-Um+YzY*I#xf(jmejr-sHK!*4q%qK`tG-9P@7vxiFe4 zCjat37qynA5q3b%JnGO36A~m};RvTlA-52Df>hTgm3jY84zwkEJ4RUW5JELZeju|NSq;?X zNe)58LI@itWz@m<69#u68IVEa%ROX#LX~hZo)7f|Sq^M*tCUfI_@f!W?vT4c+-7Wj zuOBX&hoOPe7|85`b*9>bh4y@4bsF^_s$eDF9>f{kap033uE9X>wtCqHhxgO6@DxSD z@j$v*^0vaG=sf#O(ycM%BIQE)nUt1Ap!ii{)xY=U`q+b!f6db5e!69Q;m-H;p^(Bh zL-UCR3R-ye>TxxM1I`rk5PO{t4Ep6H&_L7~FX?W+nR|5oX(y@)S0HHm*zeuK-aSNF z)6K!frF{i5NWE>i?JNRbT$p~u&QtPv+!nKW=n0{RLoEY92w%u9NH3_?;OuMzZOBdE zY!+`wM8So#sZ{{vy?mgD=OHeKf!KmFF~LV}F*tcgFtoHO5`+7TGsdAlI#;SOP7IkT zO=B4q8~l3P(^m5Hme-IF0i7%FB~k$Q7a98aGaWxNDAt03keb-SAFOi1Zb*Lq);oi5N=`A>1gI zH!UU{;jVKi*4ur5(6#ikAZ`LFjw*i&^lu z{9m@>2wyRh(%}&zSbxx%lV>1uV2S0|82T-FF$Bx{o2pbS@AU0x`qtFx)@a)KtLxQh zI@LV2YUu5LYMIP{+g5h0TrJa$MJ`Wvz$eyy>+hFMvjNpT&l`5arJ7=St*`L|8<&U= zul$$0FYqR{?FgT(a2LNL>z5m7P@h5^v!lG`s)8u}z;L}DPtgseoJz~@gWXSm1$R4s zlHu7=DB`&R>_E?FPapg4zJaTJ$O*@S#`ymPsDdlfO_Ek88^WGf7iG_zv}%L%_cFr5 zfG*jrU05H~&u(2|GgOclXWkk>M6gKP>Rva-X&HM`_rm>Mbcrg;FN%kSx$g2%yexkz zx&g%Od0ce)8hQd>3{K*m1v!~f$8v#w@fs6xW?hhPvX7x&c>ne7aiWE7Sg{!-w8DOP zv93VRQ~2iDK10PWl6zv?8i;j7ES4wCbAp;VepzV9G4S(*5pt`17RxelIX`qY3++9d z+I)GIm)1Gwi@Qb67e=0hdq^R8=RDXOLN0%}8*)@7;CmAzS!>+@pUw9ZT89SG*WS3+ z^l;uQv^8;Iu{GVy;%Bh@q40y@_4l2u7BKEN4d0M%uRVr>A0y}m;`9wWe4)R8@T}O( zoizgCeQlaAGhB=uf=ISxIYoc3ir43iP+lW9!`Ka$uyg0hWc9;3vet1^&YZ4$t;g!6wT|$ibnlOR zP&mt?9efHvdNkMT#I#u9l70%H+l1&vKC``NY8fSH57vZlr36Y%U35zwy%p9SZ1VQj zZGer<$(F;a4Z}&kq_rq!A0GP$K5k>5##haa*6*aWc+T!zymnttx3p!qSQ#E(X7N9+ zRzrq28H9AkFEe^w(bf%p_!sPiSpL4<*cdQC6CKaD+STq`eILRL0wq*!HwiQ1FOUV~ zKL-Jfg-1_&*5T@PfXlf~`qDnvJv!_09#7_FdpR2+)N#?@1DIW2NX&mflP>=-@(U{6 z+fKE_I)7$Q4|gIh%}6k706Kji#g7cojqzJm69Uc$nv5i?GhfIFHNCa`S{)#b&gv>3 zZjaE7C0vWwD@VPU8S-B=Y3g<;^Cn|q&0*$d8RcKI0M%d*r%$X}33@b!d!gmN%AY7& zl%$cJpzquT!F8%MSgPw$J(^}OE91H4+|7^{NbC86H!H3NzX zW+tNlF#J}RJzzlLt0)&Mrws2fYnc}wnKKT|Ek>M!OpdX5(i<7qzPQV{Eb-n!&T;0t z{H2!gH0-L#g}93%LW)X^ez@=1e0#-Cs=3HNLs~_1&Sz#0Qs~-L`CVa5`3({Vw{#Xe zr)MqpfyB6h>@jEJ-G1hk{3T3?>MJXO{GK2;{3<~KW!KKz<*diG7gBro$(B-nE{E{G z46ACJO`9iwPLtsCYi{-#@5#?EcNcB~703&xEH2HLlGj$I{&W2il{*p^N{ zH+}ONh~YVZYS~ewvi)t32a7|3H4NIZPQ^32Q~1+%baQk+RQGwnX4@NR+{7Coq%Dp^NPQEi^eyQo+J5;Si~8PB_kTjyMN zIF6bNCTSZSv3Sp%pxCD5W*5)*WXAqNk3D}OJlTcOK^MvTgm9rsxZV8+_RjBRNsqq5 zi`f+^Lumy^bhOSBM}5yLZmCE1OrJEC%Z_?sv)$utjbG(RGxL97R!HvA`>lrQ3czed z1u6l<6tm@rp!y_8bPe1d9gA%`Z)U24qQ8Ggx}zP>2^g9UqR|>!y$MPB+aW;L!X zUC8U0-L3CjoyW`wXy)CYaR?P4U#K3_XHJ~>`HiHx^lC|R3@=;xpWXMQnJluXocQ&I zexG}W__)8lCeF0~HQ%Rc@;P`C=Eqz<3%%%)fOfFtoZZj$aFw^#mib&X{l3`-SKG4t z9e}`p0~zzF%Zj8Q{_4QGMfWsh4K@w&_-6mBANCZCkKT*$X3F4AAW-PgyJ%e1|2r_J zbK_U+?`P&3>XSRi7 zj`e@wCZBla9v8}Gt4p9+%|GTS2{xR=Om1OE#4%g%;;BDx-I1IAi;u9#2eBvn$o#l% z9>s~_kV67a-GF$)bjEqL_DmRW9)-IF*YScph9*)QcT}UOpJ)6y+?P1YNVv> z?RM}EI4U;t4{;iSL%#Z3MvK0-5wunYKjWtcJ}N)i%wA4y*Y8bf#z?=whA-U5oNBD( z3GB3!-RDH6+3N+}qP|?Nq0Z;x(zrP(lrTNuf=qA~U%s}qQTqZ|&a76S*WU})&-%mK zvl3gnJD;`B+qK=$+0%+it+bx7d1hn@FTxes5?5&nxIkXt5S5>m${(AFN_4 zXDnjd^s=jzgL6}s1e#b{-1BtvJ2yB~s&D{(`8K*=;grr@>^O7}70QQxyE^8T1r4o6 z^vSQyp>urqOeZvAmFv{$FT?}?{SHi<8(^s! zLeYCxQPu(m8gryWQRZ`w=5)v}@oeV<2kqyxvkrZ};X}=MZs*WJUc92kx)~iu?}=PL zlg=6Jfj{gYe6&JoHv86Fn8A#u{*id;_v_^xTwN+yJJ0K+Nzb0=EY4YvIW=+*hN3w; zRO>+hy$2zPx?!DFQubBQSUZM!Xc;h=gc2$zPr=AN!05r*=t0})IL_W54SaBU;{UK; zul`M(>|nh?m^e#(W^C)}*Cw!$cHwCV!UE6Of9`6pF6rI$^T^Qzd8Lc`+l9e7X_imZ z&byIZ(I>QZeRj*vk2ZLvVBhLShM(7zrrXVsc2_6H!hYdNek`b4``~mM4nOob;AlqG z%@sNO!U?+_h%#?US=*=5G()AzbwlnX1G3T|HDl;UZV*z|D}_n;D^INXU(ouZ zH>tGr4QZrK9WZoTp-NkG1X=wwo6gw3^J`CA@paA7Jt$g7dUHVI?A^M*J$)*sYXE&7 zyBB%XYpPhtt5VR;5E`D)x&=(QbYZBA{lZT2rCgMEqI~3oJ0;`!FWkwG6?EU9IeybWc zeK9Q9;{NxLaGk))=}_B6W;_tw&;2w98Nijzp7KY9T|yeka3jr-NVIb7Ch&&~`USrX zC9LvR3LPW#IK5iwp7ud77Pa3}4$sHmLs6-OA=d}wh4W=A)EpCh!(;RZl_Vd&fpP#C zVQedb^@Q!uK_q|QRFXfD(rwWObrFpH0fL>={`E>Wl^qn0FUsB5 za;#bK;SsYNMJ#%+G!tlGiSR}EG&;gbADJ}S<80D8O-_TTO!08H@-~wL$kr?jY}>YB zIR{XE&iMtkz8U7b;lBWbHwX6fU{{ilD$%b<_8&?gwj&Uk^=G?{l5^p&)85h2UhM96 z{_>wI>c@ouSgGd7`uRWd>c(W8gw4Up%(H%}rPV#~7w@n4k6o_Q3P^N^^pOC;J-v^^ z7U2-X70M8pwwmWd(k-rx$=av^As_u9o}M+V1P&?Sj!HhVI+lMXR9-$wxtAB<(jV^n z`*7J)@1;vXnsd14z|MRoR+Dzk59_(jr`m}F#^Kx?XS4I`>D<1M=SSezbh6VA-3PbC zusp3Z_CEMFl52S9RlDn@z5#C~wc_*sMpa+3w;rO0z@BYqBaKUg;eCTgWBk9LrZp`PBlz z;=g=y-lTJO*<;iIU*tRMh2xtyZ9c0T_KaVz=&dSR^x_A|dxw70uVdl6i~jS$=a2XH zX|0Sd74i?OwAK+~ZSPE{@K95R=!Z7Y$IlA>_H=B#)*oB%`{G#Uuw@Ju4LF4CT8ZbK z0$|lV2#Ru;11{~OCV{mtei6Vq0h!@+JnrM$ZU3t%{}|qB0GmC~laSU+y*Jbe5Y{Zy>ECa($k545(UBdT{QH?mL7~1V&FqSGNnjqt zu!7n25xST5ov}VKE^!yXNH7GN)d-l>lo>mM^4E)DnZVbiO27Ehe2uMajDRYSZU?E$ zQ@~!L_@w>Y;#F9v>r@%xJ?HWAG!bfA>%s}Wj1sns91C2w&@l+15UVBQ@3j$cP`XSBz!`SjjsxfaR` zRD1WY<_wb~J9-yvn`3Q0RN2FN{v=pq$3Yn}NCN1c^*b$8{ftQK6 zE8Jyo+=~^BZIfQfUh~Bd+u3OESfHNNTZlm9EV2tU-vZtVLu>bv9Zp5@P4s-XBgPA- z`m~v5GLE>UE{-Y-Lq~Gxr`0bY$Cxax;&qXhASgb%?Xr;tt@c?Se=Z)hTcc7cZwEsB zK(1Hzji^hpgyp>2CHh z*1ib#or0%cMj>QwIn!X_6OTR8z<&fL4his8-+YV4d4L+sgGnE<2eC9vt=br; z8s}9U6!YZZeoni82Bby}fs1+kR(f%@Y5~Ra&kvX&4iG9@8W|s~Tc8iKA!BIHPwGKW zJ1NS(av)QZk#T0UbxlXy3L)8CLod4ZSNEC3I;_fcajlJlH9rw`=aKV%R&$0 zu*cQJ5ycyZYCY~krTf=UKwwq@KQRC2>opVKN_RSqSq>ku-5t*Hcz*82wB_1jR=uVV ziQS>(*va?m*o0g#X7wm@S?IBoP3bGminXwq5aCJNk8I`%vOQMC)m_Oi_p~ohv@$1H z^b&c*htkCNLVWDTA+~G`b%j;#l6>j7eB?} zt1a4R&fZ)FRitaHmgXzS&S^ZB9#c9CbM=j?rALhoJW{~o4?uXE-&qZV5XpzoMW9M%$g;*R+BQ^4|iAl(Po?8-Od8C{p@oz)Ls zvTLS0kS)3)r4!MvOWXO2AevX{wYsaz8piz=>hLQc z(+jdLws$%%EOg2PIP&-n@aq|vufNC&4uIuLdM=hy1-!UP!gvpwGZwn+y|m-O|!q3~y_q(-;Ji&~vCd+kjWTHgJCm?8L+2!y>dhjos`z%H4@?AJ%1B^7-U>v#7uy@1~{$lw3zSYNgh&GY>CBUinTPl_5uhL-S#<1Lrf7 z2lkC&cnG!gQBYu;`q_*NK>_Ue6@5fBAl#ogA1D(2Z273o!HWY8nU<{ZQ?PQPyr(c_ zfgGYOr5M?8$3d`rRhQgk1&28VF`wrdClyQ5dwF}PS7g!7AcgUcp8>}m9tEDGR3A+3 zRNi1z^*}R-6*I0Cr6=Y7dyb3D&1Qb|7-){AEjy!vzC&R6#Vg1>kh9F;UxGOEijPT- zxf2}TdGpFS>)+(JNJXmR{W~f5Zn|?{m(g>-HBh_UCP5R&X9f2FFvX7h+^O`u(;#Qq zCE}TQ3sx76t<`3a6fSPX$JL+q)UWKkaccgy-7h>O-wE2j+41fqM|w1{>8|t2Y5;gQ z(AVEcFsK-6u7AYY39v(uD1*?0=AI^jT}^l41` z8Ob@Z0Qevm;X6Kj($i31bfzEz>po%_D^lWD7Ew*^qR-qmujh+!P#2N|rb|O*cy}2q zeDB|b3Q|AlpYV3O6FdExjyiCXDR6cOq4@Ue)@%?E@7sOU z_u)Nn1q)o-69hRo49|_Amfh#~wO*|PRNwTv3IU7{hD%eoM1=t@*4{u!l2Fbg=M$g2 zy8{xlzw5O&ChCX=G9rmM7m z!+ZA!xnm!8k%re^N&p@c67C%3=+!e`=5GLf4Kmk!WxtxlCt<(sdu%|}u)<@OG1*h|4_+;|6T+z>bKP3nG6ma60mJ|84; z&a=z8&Zl3PrGPdfq3fR$ug&HxWG{iz$}}FdF880*Z?Bfqn$Aq^G}0e68-2^eILv+g zhKh|3{mk{KDW@k{oWwv~XN9;IMM6CT{r$VH!=tZ2wUqn*^?-z3f0GwQ9^+d62q(0d zFzDz!jWVqMd7nH}{qhrz?}r1j&Z2QIAC6g`Zu@bgOHY`iCTWUw62iOH`vGqMZRl5~ z{Tl%+ZusBBIR2dXfS-ncDi;6Y#P^)f`{yFm z-yL8?cNHqm*w@cB6$?KwQ0oO%lYu{L4&{5y=3KH$X;gz|H~ zMX&LrBe#tgG+QMu3N@B{08rzkjnYb@1q@0?`X{67 zYTt7JQXuv^YSdCUN@SCUWLr0Eg>(J4Zt4ObZ0I8i;B z^;S{U&7p6xd?epfI5~dC49jh+qjd({vM|W)swQT6q}ys|PJ>Qkp!@XaLI_e7gv$lG zd^U|up<^D2%YG_CF*FzsW-@~1o)}(9o+dw!H|iejT8z+A%%-)GK#(MDC_jPR>KOp2 z_Hg?5REX-$cfr_`=Y6z+chf)o@V83yZyvZGCj$ogH!K=3aDhYp2!0_RzRn!&q<)1T zui+OblL^;EduvelC zAQi!PPf&cyrV}B4$@6R8Aa^vz4w(-LG?<1Javvb_!A5TYc5UxFAE)(~axNV-Lg2gE zmViAOx|afV$vl(%ZOQch*d3`U2aUf=(e&b>6LUoV-cHTxe>5T<@G(Mp-R1rM&{Y*a zq&Q{1SH6XE=i~ix@h@jA=)MFbA+GftJ47~S{*nzA#&;PBax=de;JDi%m0JF5IptSa z#C(?1phS$n@|SdEnwMv!4z%j>zyv?S*5$_GQWgGR8x7((D`p9-5)}CVXlMjJ5>#cG zO*RsSLPyE*Vai|pldVsu5SpoR^nIT)j$ zr>t6@0KNsSqEARI?*y(F-4@}z(gpG>p!9E`#uX6QHJ`Qs8nTWA|GXj-QTrsb1^0^v z1*(OKE^*lhr{o}K3SVw+|1epKqWV+z<{7i+7&jV6~2E*LjDZpK9n*NfKxxL*jP7 ztlFsiTm2zBGx1;dZ_T8pJ9z#5{~iC|4jP`srl;ytc4n6EgiDkP zRI@UsNy*J{g*Ye-12c$4Hq={9%;9CVQ1@3&fo8Ydm>Rw#egpTO6Nf2UvFi)r7tB)T zKjl)kCdDdB+XqeMm~>uL+lu22sJ)!3n8<%H%7}LPe6-Klm5Q+TveE-GC1H~Q2z2h` zwV{6EW8sU|g&us@VgfCcDZ8G9ev$6}=U+$@`I;Yfb8!##<9x%Cqov%Hl&l@T^Vc^0RYBs@n38o= zS0eZKPs>*U3I{?_o$Qs13iv*yLhLVo8G+ccC0t)Ben@P%qE4*P9Bs9EP5lP#gG?ir zC=zF^Xch!=6(^#O#%RB`90e>hdhF}3L~iM_|E+hb)2EuvDNn}A((53Z-8%SE;X(0r zHS%U0L2eG)Krb41tc|UB(YIpb*03eqwkJVmX+e;mlDCz-+2HGHY#H-Q(!vGiSj!g> z*SJDzvL1JEpPhT3as^Gv3jJ((vr%%hoVr}1uSMum8!Uyu8(&G^*RR|4*FIltM3?Un z37`=ZO9*qeg!$duljXXaZB*ZW(OY0sTqRY>{;M`DEQ8553ty77fhwc@_n95X-w)WW z9HmQ>ZIMb&5vJr+ER}9Z%9xOR+$gX8$6b_)Tvs#oiq*CyI^x&3@bG5dDx+0QTH2rv zbxag5TlwMW!|%^nIqIPQCac=!N-0P=w6OB~+NF}KGRDrG`1(G}{rtz0Sj$|PJ40x3 zyfeDfYL2!r$HEdlu{;)QN}oQx}pinP8?Ap)_7nBo81<8D_f0U(s@vk-RarY!`1MFv4ve(;`EG6MdHrwZaJd2l# zec4w#L`J@iUd-{WZQJn|D-`PL(x=u3pq-Ht;=W21hgG`As-l(UG(DQB0t$W_`sF43 zb|*o4D^6R&x53SzdDK>SE0|~_&r$M3RnI%eTEFME z%~p{5pd+}Kyk62EK+|l!UY9xJle4QTZq`=|TN$erjgK2+)@rCicUDk0NV#^uO!C%6 z=Z>a{ijqQl)Ky!479;49jXg{URoRw&`wxM{A3vrc8=`r8m8T4Ra& zjgzuwwuVp)U(P!Alv!jB<7`t7V$ zO8J)LMZ1(*$3-qZCE!k;;Mv2(j)SaYN9M!Wk9J0?<(*2rUmk|CcG4bQcrrPM8!K+r z#GG=~^H-M-X3KSa&D;5|5s^5UNk91nsU-xtJX(d`p*AR)3KEubj&SEYdv)TMX&ihc zN~#@^IVoFzh`p6En*kk=0S2WSu`9U;Nh(c~hOY79LS@o|T)9~MZJrEc3yyJ@O?{47 zM080SPG$On47s@~iyTLW)nDhhT)=945wRXZ`o~?PkotTJZ#m>@u5sp9RHxF z=oD+wD5~|k=H*_Jiym2QQIcVal|8q`zUo5bStH$>ayn9{ajLQr%KdHHTAiAJ^h;;1 zu*JIxM(G}d51k?zqe!tY?<-S_`f-8lAG-uz#S)e1J`Ha}8a_uMox3TeXpBB2o7*-E z_s+j6VN2&eMy=Vyd+!mKF40 zrOV8tZ`Gq8CLcF3iw!8w{t-C9uLpIqX>PsDHj!fyYRBK@R0?H%4(8z6IU}@aU(;lA zG;FGh(e7^zmrLYj`+4!sJ1e~z^QhlY+rFgLVS=BQDkaR7nM=+Rjp()rQ?eJ00^1(h z#nlfdeN-3u5)Ctc6RftX=Ki!T(XCXs9a6O*m(Z&G;`3BE?^aM1#|z z(33;4x6WxA+h5{Vyu5zZOelL*bJ(;DuSjH8mugFUW%t$d9NExnW36Xs7%zuy@afjv zDL2!tG@}(Do7JdPbvN-2ye_p#VQOaa=ls^*$|SO}kNzI|Ph~)L@F$@nHNs;gYY-Q& zjR6~7FK7PPc}uo6tY#SJQPZNBj#%MWbd3a$eds39(Dd}aWtBpx?)1Kdn!v)qaZS?mMs+N7u9ESpLUE(IDPg5=}vymicfdQi#Mgh>*&tN&6#-v+iw{}5n zBdcLu^&bmR23YYPp3cr{)jd?$vA?iFQ*#uO#Uts)wsbM#hm#0?w2Uefsk37%W5~4Ex49X&jX$Wp)Y-rlzz&SZ#ly*tvs4 z19KG)lbxh;Y-ur0r0x$#>lBnck$#oGp|)I7D>8%hMdsdSm}Jr`p~xgEin7{Q1=elL zOOc@BiD}H}!q7vCC2Gd)EiY@VT{nwU{4q+oypE`e4CmABiq1@8YOrQ6C~EcK3dO|izx_$b zGQU1Qk1Gn^_X=HU)TaG+6?zoXQg_U{vf@=BiYbO6S0Bq1LVs#Uwo;J}Y|=;|4xx(X z?|b`x&5&@7-Bz_K(<+>^9?;&pZFWY3eSe~EmT|LEYYgNcf%DVr-{m0?Q8lPZEY;K+ z?@X}yy0NqpNinDPrj6~u#mg=ki>BpXT;I1)Iq=Ic99QP+VIs{kXEsW)G>;8VGz^V& z0`gB3WGHu$jh=U;PG`!_tQ;#EuBQ|AP2o>Y1(Qw+ z!JF$|KcQpxuWwXKM3e}J4DJpxr5*jYk>bw{69Wm_A$(0S6b#MZgxXAF=X_LfWn~^( z7H8iKk(rghB}Q;cifsvJnkgug&YR0rEXxpm<;YN*DzDKf!+EMJlZnifWU25RBT)KI z3g6YK7j*5Y|MSE{59U+-Xxe6Y`Bx~hIfe@=vUZh}?iy;e2p^wHfkYLG_SfyT@euBT zpw6`XFv)Un%BczVl`krtHLHb{knxPm`SVG?#oSv)HlEd_N#SyCzae4$hRHOWvsC@v zvR_)fIPmk0jSt`^0k>nnJS-mDfNHYZO%zM*Gxn{8aDGVp5&M&Vej>AjEt}0%yf$it z_gw-rhc1{#b{6s-3nISlj=ie(XTaw|(gu4~;Y?*kjiD-AoqaB6MKRiJGE#L3&g0QC z>Lae{(r@);mZr)RJ!*}~YDpZ8d!*{dMLXNc^YiL+-6~TT1q(@nLHbHr2BKpPb*B2` zgRV+jc_0pcq)c<~#sP|lDvpIm_S!+?#)7NB@2Q&d>T)AZ9TQhGHf zv~&%cs#{G(eR?zu4S4HNg4`yR8&#uogV|pz2`iRlzZ-Ox z99dxg`jEZpTX>5)r>~W=@zC&RB1Kl7+<1E^lVdoaK&npKh~mQ?``EDkI(zU3Z#fB} zw~Ah^qQ1N)23Hh2z_Fa+f^M?AF-f*qW0b6m3J>ja5}W?sLdC6}8iuHlHRW{eg@x}Q zgeb=eT*tfnq}bez#RQbN01QTI0tWb(-*$Z}OLS-X*Y6ZtyOWuK<_vmSzGZqDWqNV$ z-B`@PUz7a%Z+TvW%Xz0W0a8D5fM6B3+M##YzS6VmQc>!#m2NOAWtJ=_wV|`=cIcf_sqZpOS#2j=-iFU8@>k-RNoR#Rex9 z9`NE``uY9&Em&x@59pM43;S8-R}22?M=W&P7C#`pPjzGRg5ig;0}K4+)xUX5G5MkktT+Yd7i%S$E}Dy!tD7o^vwm!?;y7p7OI7pIq} z=i}Gmm*H387mcaKXvV0$E>iRY1W$m&mS}M{idM+h}zYmaxkD^dQi^?m?3(9L{ zwA9s#=~Qv(qRb_eC{9$D5Jiz*HY$WB2ng?l z-QRWj|Np)Jy?6O?Gj}p`&di*d!_4{ay(hOgt+=r`U&(sd<>JGo*aNvEu=YZ#vBU$d zW2Ci;<-M~tBWmqg)KgSNi9xMqlAC?LOJe1+`E2coR(lQ=CQ+zmL`tk!Hk+*;QEtzq zibzaKP$Xxxy463B@}2XE`HuPaaxQWtIVU*>IcGVdoMU4p{z{z1?A;Na_DfWp1WoIU z))$R0njWOainzVi7PGf~?)l{Sl=@`)G>oXWW7|(rZ&IZto@*75LL5SzSJ4PP4$?pz2Lo+`ej)YLD5n5z+QGY78|~LPS%+{ynYEE`m0q&^|zIkcics zw!h)@zN*ePqSEKIPpwb3&$SV$_Gi>f5;#p~^-z0l7j06&C&X#P>(w3TFBcyx^t|zv zN!aI`75HzF7icfmeDjj`&1VI!Bc2&w|Js4xxHzHM^Z!Ktqu+jnt^W1E4)o`X*X4We z_~sqi*K;PYzgqZ`a&_+mdga^4txrGo?n{%J4>;>m!{zv}lY}ziOc-br+A9TZ| zNg17C5l;^YlE9n;dy|!B%-%0Dkl7=2o!j9)eRmL~w=l9?u0j#)X=b{3{iuUsxq@S? z<|W3&wbs$LJ*#{zZe2ob3TnC{p_!|8zRaxPhP6|XSe#A)Khuw_d4@V(yInJ{ z;!&_~$Dy#Y#+=tYnihL!uNGREf7R{$t?YsBfKT$=ln5i1f%90+ws>G~Ofq&b zK3YzAu@_dWxWJLsT-scs%j}O=NCG=jBs~lEbnu)TlcrD7DfH6DadCyDrzKf&3p*Ft zV$Sq+6KCefb}$SX=osp~{IQpOjJg~oL~r8SLgpEwMcf=b=7gSQQn+ESQpgGWpG$wc(;L+TE+s`Alm+8U<@Ao&E9WL>>dUvi{I&Q&WQLgrQ z|0mUZ#|>cd@H;0puN7P?C@Q#KQ2da7-UIn1I3X=8KEMA-aF&B?*&@A!u1s&E>oImV ze==zvXJZ`mXvnJ1sn4vxB=Ww!M890WthVup{$QkRj1~>7H<2pAesemF^Zp70W&@Tt zuY_K?kYJ@;MD}>49-vYC$VNs$=ekt9m9FE6syFKHaStLYfX(S?$K?F|c)A-*LnN=Q zgF>n)%XJiWvXlgGx=Kvs#thiV2-%KyU7zdLp!)@hVb12YOg<)!E_Xhjn?*P(%*ffE zE;c7Bmkrb5>#t0|c4pY8f3*=Asf_xX&Q0W4j#!=Nxu0kw+?&O)S)3I!wGV?K=ERT2 zpFC^)!LaF(s=WxTnvH(>o*!wT(d;SL>ud}6vTlRiaaG+Ez4(*3-SSP3j@$FVsyTyZ zoI2C`9e@+|KCVnle&8CcP&+3USp-}WwsX#6^r+^PYIH_k0v|__zsEypnFbA0R5dTg zFzuV`e(bSlOgeZ>)$H{I#?jR1LyB>cQFdpJyKV1iS5+~C7*o~{C<?wR&hIBwl1x32=rL9SMNQg$bBttwynrd^Q86F3Zm2UZg#~JlbsN!Txy9= zJVkKk=ZQ{h$Gr?>1^bNlbN#MaKZ)_upXZMM#$J-oo6KddpUgd%Z~Wpx`d|wUza-H8 zP4F1IaoQ>T2FJ2OUvt|mSGYo=Ky&L?TB}Rl7u7QlAcg7ATS~J#2!+7TiGoJ#ifJO@ z({hPYjUwGc%ZAHnJlFm-@rd*JqY#XeuJ*Cg&VIJHGcGH{HW0QF*LtH;62|oB)IkS z5Y`}8>%+ZW^`$j>^*J?~NAqitN5Si*7R)IJ9S>6i9bX*uF`-nuj_C5|)Cmmu#G2H- zIjwQ`;>g0tr;+&f;gO#9B2CHS$%d$b_~HB0aN_U?A}xG=FAgE@3ifEN3Do_+VbL?%+(rQl9ihhZu#~tolqs)9kI%_T9?$8^xmVjAk;2@M)c{ChRm9Q z&{o~hzHsS#QSh$MKY4y|F>F3+zF4;WglFoYeBq;<(9g2hGG9Hv=4lC=w1L?UURH2Y zwSQJVL6f$u5pH@Fa;X2|o!&r)R60lbx_wa7%E8oMIW#Dw?$Tc?Wvt8l;9WU#h52XY zvL(I_oJ$z^{eJE?*_Nbl&Rjduj3xf1^{G#hN1pIv2+L z_I|$gWaCkJa4fNuJ-Gaoch=+$MD5R$6h|)6}BZ z%|Au)NsASqJJPOrVu^=ciuYHpwIYa7;+5N^w~Ak#oe7$b_ao+S?9LaT%u3Wcb;??} zeR$v4Ql;!WeKoCZqmPyc?jo9e)`~9PmA}0QAtXcoRyY_HHMTTn*R3s=5!S}fkAi(W zUE-!imGd|6Hec6Oe-trBE4Jxqe!8*J{_e^!*Rm$P^WnxiePao>T58<#U?cdvh>f3D z19F4tS&+9P`c89$XSl~3=9s7$= zeQMPefhob;yVYKZMngWE=x<{`Y$E$Y<_^1#i9om^Z`#C_9Rd7#DIZ&EuOI?AtJs80 zIP4Yu(ke|1!zIfE7%BZj*7gE!Y`Q!#z- z`xWE~j%p~kS-SNVr8+@J$hgV25H4_rJg`a_4AQeeY%HV>ZFR-;?ejocnwv=qZ3@-5j;Pgc(_+Oni3O{6SjCuzuxC1_0?M5=;@Lo1OnOE;3tRrMMX!Fy$`dXFrOfPBoYdTvH$}Em}7i6 z8D<_98f`|7@{J4(j}D96yxi}7m<)3^adtGd(K7W83G|5!gqeqUQ=*_KG|VK*mmC@m zC18*+78?sjVhNjkd-jCIx$0oxD5wq!frKKEXgCxBM`GP!q-gSCXDAK{vx)}o`I>}M zLdZ}!%+x#Fk{n10h=yWONZ5ftVKf%K*_?S`2pI`QqJY3eBctyMApV5{Fj9<9G)o&( zD>IftEX|OxJ>F4d*401h@;8;CnpQ+ zpiu5mB-#~=z_>%vI9DVF;SR+TT(M|yjR!OctUHtd2ee4=jdn$22!Iz3cSYlIfDwat zMdJVli9@(zkQgW$3CNImBx07xug z$KwDO9_#M@!$6_`8YnQ7(PZFUA>PqsGqP`(9~rif97>4}0E!@tjQ(`dxO}(s&qCXv zf+;ic{Ab>IQ#(a&5Xt2>uH~8E0tOVIwgHlXs-m_cNvo;uVuv#m#S{^5yj}&}`|vhY z;`hvtmzs98SJ&J`<*YMgl!YhgZ_WIRKj+OFDPbp%S`rl-AGn)GeR%6zsGXzqZQ*>* z%YjF26`w^W5LSck!EO}0k>Q5^)!B7DLF0*#PwG$;iJOF#;~pP}ZyL#-CBEsYTAUw< zOPE8SSE?1AcHV~gdB7U~g|v4iP|VkS{0PIZpE0(8q> zZRgA5|LynCi@(q;9b%q_w-ycfcpmQ-nDJ#WCK&l)0Y}Z~okf}Y!PjH43#KQ;)@_cl z{hKKT{?|Z%pHjX@Bnt!ox1spQ6yoO{8qEsSC|4vax{2b z&_I^&fH-1N{orbtEfVaFi?$#|180Nnv4!mqi#+Td0`v8TB6LA?nwo5W|G>K@EajV1L6fnL1;rV8!j(_)iBnpLrxdi%w5J12&uWp6XUf;!CCq$|o|7k6%i9`wkh^U25tYnrI9bhbQQn zn(Z~Wu(Yx!IXXGJ95{H$*N^N^2?z{|ijFxF8y9~x{iov@nI}$C&z=7@`$Epe+`QtF ztJkiVmX%lBuDMft_g>xo`iE_g+8=j3>HO_g554zw-UsVd=#N;rK(X@0xAVOBCqE&dJHa$-~l%jXf58I7B(Qb|SdNOdNQ;BgB=Esk{<< z&K6a-@+qT;Oi7=}m;6#H=wa1amTH@t{b!1${hu`ZuGn9C^+N>2=W+3X?{;!FqgzC zo{qvf6^7?@>3T-(a7=;Ls0BqNxxr@5vsk|{BX8zS%#og5i6-$&s5PW;;lS?Ow&pQsp5cOo1HXy>md{t9N`npm+HINNTT7gKBR{or#-e)syWH6F&^xU@uOmNFVBTFJL7%MnQf;9R_)wZqq{C8Xd5ffSgk2DKQ8kRl?@!a zV9`HR-l5y7myH`(Ke0gL4>)xtVB4W>24B97jm1Xw%?%xsEYlqho~RMZJ%`W|*{hPe zmNmZrejWAIYuDU2Dh@kiec!O1cau)RSjEspKi-=g+hIm_S*^SPImRK`7b8`imE%}? z;@K3g)iobavRbL5+- z;j{eL#ZuYfHIG$)-hjm0DLxflb|Eu++*gIGR{WlwfEi63<>Rq?8nMjZR36~jpDY;N zHRXbnvdhFuOTN)Gr)vCl~xR=;H%I;L_g z+jJPWmc%Gr>^7e0oyw6h&y7XoP42&w=ggSfeWPPm>1u7yjSw4IeXWGZQ9XdVvH9sG=Zu_yT@6T=FM_&v2M}L<{~(^?6w^yGdsHn zyEwl^xQU0}v{C*X{_ALtm%G(W!{StyHM5(VC!8MU2bqTqqC`fb`qqq6T#QEtrQc84 z9;TF9o{HXpG@i{hJ-k1~YbAf(WAUwOFF(Xq2yEfQSTu?ah_i-_3q5%%z5LJI;uuElRa zl=fd+XCzMrdq{iyKKlHtSS@Ucv;i?a#H^1iJiUXtw0h@3`-<}GM$`~ZgkdCG-B4eR zw9`(w+&H;|V3^t-ocyqf+3}6TZk^L=1JdqP$h84^a`}34AB+)vwBDO{?xqNbIN0f^ z@m0Cbpv!xvom7BD+sfMOGLg6MmVOcc*7lA`P&^)%i0(VqR@t0`@)2nEea?KMcg#1d z#l>}2+RWXq?b(r(q~b0l2cz(jF>TlbBS8}^*WULJcc?m8YJKhH!o`Cf$d)?0q(Yi` zl5|vAf4_D0GhI3GSj&OYL5?$-b4I_;+w$NMWb(On;vzx}aQ9cgi7syj%-&f8*^xSHM4%CH9eFz9e$A zE6m=^9Og)li-v6`ZKm#<^(UwS%@JrQE4L&92m=zeKS3-MT>XK?L6MtSQ2u>SIsu~v z2@Z<3O&SXl0#wK>5YYUYBmxR6K)^~N0rsz?a%*jC&q^Wfy(2fP?9J9pL7EJ%KqxAQs?-vX&Em%)|+QQ3LDx#rTpV)dN|kB?Wj#hM$9CbTPUF zXgLzp$vQ|l0t?;z5o!?`784HL?+kTQH?gqar*niH85I~7>ZYLqcKsxKM+4Xlr1R=# zdPq1D$y!uEz|o+l)`4Tx;BYk!m~EKfe@pO}LUEB~e||U=1?LAc{CPmJ7z_#n^@nca z5NHG*4eY==prPM!1QZyrA8{<0=Q#Dl-mAKy2X!CdcBo z&>`R`9I)Kq+5YwEU3m9AJ&W6WQj`RjgSCOnGHd5eGGH^8* zF)R$MlL0<3m9W;Aph#Ar0N4!bYJfxgV3B_Q2n50p?~g^25k3TzKgO3p@JAB-$Y`?B l|4hM(an;RG(%FnK{-|j0$mmU12WlY*IDS>ty>{mO{{_21{qX<* literal 0 HcmV?d00001 diff --git a/src/Smalot/PdfParser/RawData/FilterHelper.php b/src/Smalot/PdfParser/RawData/FilterHelper.php index c8d27407..bb8059db 100644 --- a/src/Smalot/PdfParser/RawData/FilterHelper.php +++ b/src/Smalot/PdfParser/RawData/FilterHelper.php @@ -255,7 +255,25 @@ protected function decodeFilterFlateDecode(string $data, int $decodeMemoryLimit) throw new \Exception('decodeFilterFlateDecode: invalid code'); } } catch (\Exception $e) { - throw $e; + try { + // If gzuncompress() failed with a data error, try again + // allowing for a CRC32 checksum instead of Adler-32. + // See: https://www.php.net/manual/en/function.gzuncompress.php#79042 + // Issue: https://github.com/smalot/pdfparser/issues/592 + $crc32 = @tempnam('/tmp', 'gz_fix'); + if (false != $crc32) { + file_put_contents($crc32, "\x1f\x8b\x08\x00\x00\x00\x00\x00".$data); + $decoded = file_get_contents('compress.zlib://'.$crc32); + unlink($crc32); + } + + // If the decoded string is empty, that means decoding failed. + if (empty($decoded)) { + throw $e; + } + } catch (\Exception $e) { + throw $e; + } } finally { // Restore old handler just in case it was customized outside of PDFParser. restore_error_handler(); diff --git a/tests/PHPUnit/Integration/RawData/FilterHelperTest.php b/tests/PHPUnit/Integration/RawData/FilterHelperTest.php index 2dacc462..ffd81a8a 100644 --- a/tests/PHPUnit/Integration/RawData/FilterHelperTest.php +++ b/tests/PHPUnit/Integration/RawData/FilterHelperTest.php @@ -36,6 +36,7 @@ namespace PHPUnitTests\Integration\RawData; use PHPUnitTests\TestCase; +use Smalot\PdfParser\Parser; use Smalot\PdfParser\RawData\FilterHelper; class FilterHelperTest extends TestCase @@ -130,7 +131,17 @@ public function testDecodeFilterFlateDecodeUncompressedString(): void } /** - * How does function behave if an uncompressed string was given. + * How does function behave if compression checksum is CRC32 instead of Adler-32. + */ + public function testDecodeFilterFlateDecodeCRC32Checksum(): void + { + $document = (new Parser())->parseFile($this->rootDir.'/samples/bugs/Issue592.pdf'); + + self::assertStringContainsString('Two Westbrook Corporate Center Suite 500', $document->getText()); + } + + /** + * How does function behave if an unknown filter name was given. */ public function testDecodeFilterUnknownFilter(): void { From 528aeb30487a96d6163e881188b477b1a3afa084 Mon Sep 17 00:00:00 2001 From: Brian Huisman Date: Wed, 2 Aug 2023 10:17:34 -0400 Subject: [PATCH 2/3] Simplify decodeFilterFlateDecode() error-handling Instead of setting an error handler to catch the E_WARNING's that gzuncompress() emits, suppress it with an @ so we can do away with the try/catch. Make a note of this in the comments. Switch from using tempnam() to tmpfile() because tempnam() can emit E_NOTICE's and would have to be suppressed as well. tmpfile() just returns a handle or false. Limit file_get_contents() by the $decodeMemoryLimit. Unlike gzuncompress() for which a limit value of zero (0) means "no limit", file_get_contents() takes null to mean "no limit". --- src/Smalot/PdfParser/RawData/FilterHelper.php | 61 ++++++------------- .../Integration/RawData/FilterHelperTest.php | 5 +- 2 files changed, 23 insertions(+), 43 deletions(-) diff --git a/src/Smalot/PdfParser/RawData/FilterHelper.php b/src/Smalot/PdfParser/RawData/FilterHelper.php index bb8059db..b54843ab 100644 --- a/src/Smalot/PdfParser/RawData/FilterHelper.php +++ b/src/Smalot/PdfParser/RawData/FilterHelper.php @@ -233,50 +233,29 @@ protected function decodeFilterASCII85Decode(string $data): string */ protected function decodeFilterFlateDecode(string $data, int $decodeMemoryLimit): ?string { - /* - * gzuncompress may throw a not catchable E_WARNING in case of an error (like $data is empty) - * the following set_error_handler changes an E_WARNING to an E_ERROR, which is catchable. - */ - set_error_handler(function ($errNo, $errStr) { - if (\E_WARNING === $errNo) { - throw new \Exception($errStr); - } else { - // fallback to default php error handler - return false; - } - }); + // Uncatchable E_WARNING for "data error" is @ suppressed + // so execution may proceed with an alternate decompression + // method. + $decoded = @gzuncompress($data, $decodeMemoryLimit); - $decoded = null; - - // initialize string to return - try { - $decoded = gzuncompress($data, $decodeMemoryLimit); - if (false === $decoded) { - throw new \Exception('decodeFilterFlateDecode: invalid code'); + if (false === $decoded) { + // If gzuncompress() failed, try again using the compress.zlib:// + // wrapper to decode it in a file-based context. + // See: https://www.php.net/manual/en/function.gzuncompress.php#79042 + // Issue: https://github.com/smalot/pdfparser/issues/592 + $ztmp = tmpfile(); + if (false != $ztmp) { + fwrite($ztmp, "\x1f\x8b\x08\x00\x00\x00\x00\x00".$data); + $file = stream_get_meta_data($ztmp)['uri']; + $lengthLimit = (0 === $decodeMemoryLimit) ? null : $decodeMemoryLimit; + $decoded = file_get_contents('compress.zlib://'.$file, false, null, 0, $lengthLimit); + fclose($ztmp); } - } catch (\Exception $e) { - try { - // If gzuncompress() failed with a data error, try again - // allowing for a CRC32 checksum instead of Adler-32. - // See: https://www.php.net/manual/en/function.gzuncompress.php#79042 - // Issue: https://github.com/smalot/pdfparser/issues/592 - $crc32 = @tempnam('/tmp', 'gz_fix'); - if (false != $crc32) { - file_put_contents($crc32, "\x1f\x8b\x08\x00\x00\x00\x00\x00".$data); - $decoded = file_get_contents('compress.zlib://'.$crc32); - unlink($crc32); - } + } - // If the decoded string is empty, that means decoding failed. - if (empty($decoded)) { - throw $e; - } - } catch (\Exception $e) { - throw $e; - } - } finally { - // Restore old handler just in case it was customized outside of PDFParser. - restore_error_handler(); + if (false === \is_string($decoded) || '' === $decoded) { + // If the decoded string is empty, that means decoding failed. + throw new \Exception('decodeFilterFlateDecode: invalid data'); } return $decoded; diff --git a/tests/PHPUnit/Integration/RawData/FilterHelperTest.php b/tests/PHPUnit/Integration/RawData/FilterHelperTest.php index ffd81a8a..c2f99e12 100644 --- a/tests/PHPUnit/Integration/RawData/FilterHelperTest.php +++ b/tests/PHPUnit/Integration/RawData/FilterHelperTest.php @@ -114,7 +114,7 @@ public function testDecodeFilterFlateDecode(): void public function testDecodeFilterFlateDecodeEmptyString(): void { $this->expectException(\Exception::class); - $this->expectExceptionMessage('gzuncompress(): data error'); + $this->expectExceptionMessage('decodeFilterFlateDecode: invalid data'); $this->fixture->decodeFilter('FlateDecode', ''); } @@ -125,13 +125,14 @@ public function testDecodeFilterFlateDecodeEmptyString(): void public function testDecodeFilterFlateDecodeUncompressedString(): void { $this->expectException(\Exception::class); - $this->expectExceptionMessage('gzuncompress(): data error'); + $this->expectExceptionMessage('decodeFilterFlateDecode: invalid data'); $this->fixture->decodeFilter('FlateDecode', 'something'); } /** * How does function behave if compression checksum is CRC32 instead of Adler-32. + * See: https://github.com/smalot/pdfparser/issues/592 */ public function testDecodeFilterFlateDecodeCRC32Checksum(): void { From 766f6160d2dd524f5382441bc2706b11210a09b6 Mon Sep 17 00:00:00 2001 From: Brian Huisman Date: Wed, 2 Aug 2023 10:49:33 -0400 Subject: [PATCH 3/3] Update FilterHelper.php Fix for PHP < 8.0 that doesn't like a length limit of null for file_get_contents(). --- src/Smalot/PdfParser/RawData/FilterHelper.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Smalot/PdfParser/RawData/FilterHelper.php b/src/Smalot/PdfParser/RawData/FilterHelper.php index b54843ab..a6f11b30 100644 --- a/src/Smalot/PdfParser/RawData/FilterHelper.php +++ b/src/Smalot/PdfParser/RawData/FilterHelper.php @@ -247,8 +247,11 @@ protected function decodeFilterFlateDecode(string $data, int $decodeMemoryLimit) if (false != $ztmp) { fwrite($ztmp, "\x1f\x8b\x08\x00\x00\x00\x00\x00".$data); $file = stream_get_meta_data($ztmp)['uri']; - $lengthLimit = (0 === $decodeMemoryLimit) ? null : $decodeMemoryLimit; - $decoded = file_get_contents('compress.zlib://'.$file, false, null, 0, $lengthLimit); + if (0 === $decodeMemoryLimit) { + $decoded = file_get_contents('compress.zlib://'.$file); + } else { + $decoded = file_get_contents('compress.zlib://'.$file, false, null, 0, $decodeMemoryLimit); + } fclose($ztmp); } }