From 489324f3920c8a0d6d36d8787a359d5a56d0a076 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 21 Aug 2020 10:11:11 +0100 Subject: [PATCH] Ensure SVG loader skips input with chars outside x09-x7F range Add test with example valid WebP image that happens to contain the string ' 2608 bytes test/test-suite/test_foreign.py | 7 ++++++- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 test/test-suite/images/looks-like-svg.webp diff --git a/libvips/foreign/svgload.c b/libvips/foreign/svgload.c index 212c76a7..d8d06a38 100644 --- a/libvips/foreign/svgload.c +++ b/libvips/foreign/svgload.c @@ -211,7 +211,7 @@ vips_foreign_load_svg_is_a( const void *buf, size_t len ) * before the 6sA7VPep+{rANV^Hp846>Qz`~rUXB>>;q02})t1Ak-y zZ|r~#{g45_vH&;sKnDKE0N>cVui7aLXSPDb#(O;gKauGMrhN*O0J=J>`ycp&z~b_^ z-JdC5K*}Rj3WQ;9llY&NI&1F&c7|~E6=EJV-M}6 zw2Oz9+;s)@YL>s5#T042NhJ2XKr480W}s-|RYWZ$vpriPe2 zmQ`2v1FATBWOMxS`@#OZR@c2eb9QI(Mn7bl6<1hv{-1z(4jF%`tHRKO5rU?BrWG#U z0092~m7)Lu00011M|60VWd|7HCg!6i6Cg?oXEJ$jV_%YN9K2ccN0R*{rdnZ{S}d_G z+HVuHavj_hL2t+q5voVBNcqq$yXbbuO)Y|mTw8S7wsi&`!ud(FLx`LOq#D!Lr+yVv zgLL-*&SSNY74DD;d!6@GZsCd7(R!sg!{ex5d%4HS^(xbeoCOs1a+Y1b8PV)waG?;z z4SRGG+}S=_@hGrsJn3-a?#uefA=XBoqziGmR!|?Hj?BS`UoD(KKZzl4CiTxw!Q1+K z0BzO)ZmB@Xl~LvXtIE>_v>ss#q2Ft?!{PQL$Mnx|m; zo#g^vB(Ri7^#Qve5=e1{>_?ST$y5Q?`0^*^=eKZyeFP248p++pL~wqMHPKIlrWk`o zQ|GHMQe^xP9L06I(^SK~y1_MJIQKmgCsvdr%Qu}Oc4KxH{F<#t^2P-E$`G2C(;mMb z2CSP;p&rEHhz`JtWO0^?{OAQU>apEUqw5|r?hs2Hk?O4#lveDfW}v&q07-9N{#?zr zqy?G@z%pyq0E;7{C-H0&v6z#>#W53(uZTQNdh{;TkY`JTW&>?a(ge(DTT^X`S~^$h zb!i(&?-z?N5l?L__Xo=hQw}%+lf9|-Dsm}0Aq)6$^>E|`cB!0jXjlVNEmNpl~~Z&$|mA+8R;ZR zI~R{=E$i!AR@_O7FZA;Nt-lY>i9+QKihfSG$V&4|j-iznoo6 zxqxdh<-w{bKaJ>OsC*+FmHW6)v|x$OO>rLnas-cwwQHoJZA4p%t$0M7u@}0M5jH;X z?fEp^TN;N5IcaXxi?ObyW~P^esJUg^f&%S)O{-`vaGI1}==p`@rPG zU`Px67 za@huJc(}vMX3a@cOdrb@L~~B^9{(LLIF$-4dX|jTbes3h-wSu#?=D5myL0ZWu+N(q zCQH0@tvnSzu#&~qsxOm4WGf^a0^22LW|}hs6Yn`kp#;9#4OupN0Bg;{wXml6%87=ouv`F9K|B6SxF)frBZd=6Z}?FOGJjs?9XR zSd5ho`Zvbc5csKdft_}hwmh}&t5Rr+-rh$txr$&$a?=QJ1&+|(*i%^ZnCbtuS|+OS zhO~9rxRG>)ECb#f&ZGdUdiupR>!TVSO__$2eAB|~BN*6O<1)lFYTqNM8F>}WbapyB zau1aE@lK0@7pN50YeBiL7HWRPj5q1InWkhlWu}^GC>V*k_)3z<;OMUwRz(UIwxm<) zRp-DF-YC#Y|hy<8k8HL}LgUa~`Mve)N??<)&$G=MTxMV| zV7?t}{g)#*e*cjT99}lERHEMBU)lgA>oAwLoIbb|+b#-62lM~QyD1GeQr}T)@z(y> z($|q!`#Hv17(c&Xb=#taqip^WwH%)3axTfM;3F6AUJ4XjIcBecD}iyOZ8rU?x;sFB zf44;~pstG=t<*(4wuUhkS;I9Ifr*?#kr