Date: Fri, 11 Jan 2013 16:15:49 GMT From: deeptech71 <deeptech71@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/175213: bsdgrep(1) segfaults upon malicious input Message-ID: <201301111615.r0BGFnwW050631@red.freebsd.org> Resent-Message-ID: <201301111620.r0BGK0L0020425@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 175213 >Category: bin >Synopsis: bsdgrep(1) segfaults upon malicious input >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jan 11 16:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: deeptech71 >Release: -CURRENT >Organization: >Environment: FreeBSD 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r245287M: Fri Jan 11 12:45:14 CET 2013 devhc@:/usr/obj/usr/src/sys/HQ i386 >Description: There is a test case in which bsdgrep segfaults. The segfaulty code is in tre_match_fast(), in the "SHIFT;" statement, which contains (via CPP expansion): bc = fg->qsBc[((const unsigned char *)str_byte) [!fg->reversed ? (size_t)j + fg->len : (size_t)j - 1]]; When the segfault occurs, str_byte points to "" (the empty string), fg->reversed is true, and j is 0. Thus, "" is indexed with UINT_MAX (on this machine). The triggering input is - a regular expression of "stderr.txt" as the pattern, and - a somewhat reduced version of my "libgcj.a" file (uploaded as "hax.dat", actually, compressed as "hax.dat.xz") as the data. >How-To-Repeat: $ xz --decompress hax.dat.xz $ bsdgrep stderr.txt hax.dat Segmentation fault (core dumped) >Fix: Patch attached with submission follows: 7zXZ=gAϳZf6Ef+|_Z'z?A𤎃RtceĦ( 6/ѸQrEH˓'JlD,wE$j=&=FzL6I=CeƼ|_%,GLj9ksq$pxq?M%eF!=Q.>]V9??nҰudzO=_ż\T恳ֆ}* w:i:Qɼ)W}9CRSwyeķ_Aîjanv(p]S\8+>AّPn |5`edGt9 _~pe/WX *re!K썃A>9nү*O.ѧa}jSO2Y3/N}1!Az^[Jh3{T0f,CC&HULdvj:*PF,'xؒnڣv:*E3zuvL =b_c<Ց6_FnxZsye./ơPvˉ]m2#sʼn3P8 b$0rAA|~,jx`Edmo1bp H7w,BXߢJSn-9ͅ&*o7@ +Ѵ.{[\yƩiP[3B k.eX<2}ŭpp}=BgdazM([70Z7gJ/##.1!e15{JS^Ũ<ߝ2?\IoYxqgؤ i-CM57Rh1&w`|`f>w~Tbw 1-mϪwBDsN"4l/R|LSN\ j1\9`BHafk/Yq4~z% @`AE`3C4ZICkGP w7Z뮈d*=t"Вq9D&&mp ȜݺY5v}/i5&OIU.;bj*ŒL $mp^,,Q8|4(.ܠE㡷YA^э$Щl<"x?|/$ᘦC9i1߄9s}eJ~ b@ts4sUI py8ŀ`zul-яX@ݛPm`9RTһLQde_K>$Jpvj`BoѐŁN̝KG2%X=:>lJI3H;[{8M4Ԩ!MfnA4Y+iƅվ!Lf#:I1 yTVn<L,]hq;s^Y>dI<g KÝo1M+f͚k$^g`Q"IBs%]F ]Ӛ0p玬(T_jJTSn*QnTp95Bjg+IȊ{0E`3BFmR+/B`ӧǓ}^!9gJl;km&"F'*wY0~&d2IkfwaɃFm/zȩ䅵WicXC}<+^2!И=xMϓp:~mlDmv߶Iub2>jD(DR#$]K֑:z}q]E8|!ǣ|& ẃ!S%w2;Ι-O4/Ҩ[r -cbBm^5$TS_Q' u >T|cyg44Zg' XVqZMI5h:Uш={J6lmI9 lH%$3۔"^ju%@rs|0u3(}bU }KI2OX60e_J<`˔SRJ.erM#BߴQݔ!ib)=,2G5vdZ7^ L`!t|{Hq*1ws?FHlc6'Tծ<[9Z]i']i/C:9yFLGq[,j5`)U±$t5糠Z gŋEw>Hvg|[5V5@G <0>yNϯ&Xv6ݽý֍#$ȉv=[@Ӌ"^<4ۛбM%@V2~v9{%J[km >f2ލ%~2PMHYn${*RSC"fӹ(@_is֗d;i3-LXN*sqܕ--]^&aj_[0|~5w\`X%*RU`G'ΦP]/*8>V/5A!%˘%$* 'wy"OO9NpX[$&p}`A?ޭ0:Ao|5bp@To y3.-l##5o&)=:D=3l8ݲȝ\ÎPB5^:xFGXZϖN!j8Itjc=Dv;wN9)L)w%''g|_li(^È(ce:^kQr1g(ߚsTxE&>2AAAF h+nQpPh9|<ۯb47}6."ٔEma)rR.C|橀Ϻŵ2t}Q!0Z>? b63 Mˡ&]w]rmssӱbx*&! /ЏE6;p>/uƕ.h<t$hq->G4g!O_%TjgCCى[]ҭZ셋XMnܑ! cW5&/hm"UF~ut)5{B XrGrj'R(I-!!E|D8,CnFseqe19ڪ2IۊirN%iꞁ'"Ul?aD^:Հ9jg:u.#ɒk\$Yt$TddR?4`#+PHzw*cB=}N#j`#mc?֪͌tJ$wwn*QA-Ho`%y.ba2T/~D6ɷ鐖]mR6iVWߣO@BWM:i;qn(Tltc´13-h#G [w_/lFSr^W+;-֍9RyBr0v9mRxb`O\ Bΐ&#cǚ[#Ɔ%Qtee5wJȷ"FXi9|fєt=vڊ+.㢼nuJ =ԯ/FuccPdjټ8s5eh f^U<39v%O a#Qy/M2VPȯJ=yyFsv31;q:/U|:;p;c6DNrKC<&$tscTvzMbY@fbdX,+egz4H/@.ൿULϝKʁxr ѷB}~/}˂zZd4[k(vM%:iјDgo)Wm!:]>V*M81Y"-&J7&?L>=.%Z52^*'qL;)`i$'ߎmau֨WCL-z!xB`o*!0ek8,Roޤ'(שׁgAXuݣYa&_3H?,ߐl_tٳ Ә7'wpk/zd6Ȓ?=GsRt\ (*j,8f,/v R YD~*XU\=vJ8;MD>4fy>DE pi2zjianҎp<D4\1or:=F*;IQl|RBR!-g':ilW 0qRiK璜g 0=*Ԓ|Jx&~z>{I;G r(ِk.,)YgUwͲ[ApI4(̓&Sji>`LLg4dc-lzx4NÿJs\hL!1 Xꎭ!-O1C&=g`r܈"L~X]gᷦjFD_V^V&̝kdQD S۸t(zM<Ltx.Au{uG),NxVoRu(uI?KyN1WZm:[asV:/QZ MpXIaQ;"P%%\a>Ifz*j(f? 8Jn&v$.$2ceXWM>k?@Z}GhՈ&#lzP8`)W2瘒i}4'1e±?GIL,z:'xة_ZZfm[drzM2HQ~Ǘ q5BN_LECT?yأ@iorZrF ڷcՀiH|Zp91v!*enbh wbn}.9/MZ:-!JU" >Release-Note: >Audit-Trail: >Unformatted: >!|;^g7iסKADx'bO,3Z7DI<>{AYOh'xV4S7*Qٳ$Ay 70y-Gb$LK5D/Qɋ\uZW=G A8W*7}Kjk}XV.j|^3@ЮMW""x?aIojJt) Me!gSzЁvkiȥӊ%)v i6ГP;*gn-zmמh.**ML[6ָhUWFFux^,&<-w D!k^ҟnVwj%ڗ1:霴Bn<zLT`u-=m%UqŪyXѧeҿx.1֮mTTd6 RT )k:& wQ-Ԉrfc!K||.)-{QEoL'7gś-,ޤV"͗sE6f(^WwF`rh9/Gm9[buE:7qtACUk++F1Ix7Jv u9nKot܊t.,QJԯJ5j,RyU۞լzr3woEtx1RI\ Ay\Ɖ-N|f mtEa{wŝui]GS$/gdnj8؉OS۷Gn|-<g`Y@ }>uJbfs-Ei[i|C@ޝd/;'ۺ}Xod+=v#.CB<YX?6YZ!ݣ \?,tTTXo8b4%qCNTW"I#ZϋF #GReejq=+k'WDjȩɎIkf%:Ѵ6ҩLFNF-Es&Hp{ܸXlJeVv)OC*V2!Ew*4tAsO~vxg2,'Dkw;ٟoxԖ<x].+ b ,V9dM^OTϣ,(ovl<j-9,~UC)/<=( )@@RPڃ c'@[K"l=Tg[(1?$=dƝ..iQx \ɇQgK2Fݼ&LDWLMu~f!) cu4=Ю_uYjy.>f6+Qt1=,ٓ&Ϲ\cn1eC3zxe/`O@ Ԫ@]>\Wx-pt`§֭fd%[3Z Q\s6{}L0\4[dEZǘcI0O" p!#`7:P,ZO̵YzS?,":d)Q4:`VrYC:c~!Y0xj+g3@綌<x}ƺRejˤ^ܣK:F4N!ϗvjqu5֡ۍve=Zg ķTAƀet3FDmQ`)̎kޘLH5 ׅkLcArR+n,(^D9q[AR %_Kⅺ!pg:u^&i<+"A}* lr3(ܳ; gzV!O{[8NMFς<<LheéyǑ7Ğ=rm])Uˇ1-\)f̗y-" Rg3hh5(d Kxp~_"7gO~jvIJ6kNw8gE;M:x|sNaɐw2-˛㌁ɝSኘ.2Z=Po M2S괻"r2N滎_ƺj<6kSֻ.~wkF*+DPK1z-^[qρ48>C9~ZaYZY֭%i8ـKnBgJѧ_i{CRS:[kE|Y8Ԇ]8rnnc(:6 Z;d#V.^Gj&pT@D<V~^ݬ+$'V%ðckbk!M%ĬѺSʥMݺB:ܛ4^--<t!)~M2f!A5>|b1ٻ9^`)f>rڨU~6NO/²PbA`Y|Z3x;+P)xgL.NNMwx' jw{{Z2kw ֹ=Z+>͜MҮ>6k+$lV$.&fJ*ߒ5JLv`ώ`9*7[9hT@vE0&[l@MF] IPdIdCn|`^ݹ7Tj eb^vޓ>ٌub~B4Ж9{{g%4JΰH&N\r/;k)QsM/2kϽ_aHǡfH̓O}dM!t ZKĆ}m(\ XKgob֏w`Г0jX^~rrw/wtl./m=vn/jX"=PУw&hlf)<Cz}7^Ȟmn=mݵzf{]EſdtS+D<4u,#Fē= ٹi+644^pF~ZjS~#oeB^~ tw5KUe@G:f6xTˤ5.gKW69Jڱcmm>8N?\ 81,yP0<>@ [t*BOcK 1>*yYcYc#ySFTƔPqeqrأMb{E.pcc*(k;!qƬM3 yabb":rvڿĺb^ZW(X2cQ0xb."5B"q59k#6E#Āqwj^F ZM.͉kvؖf?JZ`g (Y\jP9&{v@Džb#Cv<I';T4y@s? OȈ>}gր_`z'3NJ4* JS(.҇.)X`qrT[(5ҦѨC%J[1a4mSdQ,0qt"C_q/ag4I(w鈁 l;81ZT.TMwQS'ɴv쨫;l:aol/_w`Y}$$e-@Y1:v8pm03Dd8ݐ-k'nQ8^6Y1 NIKgIbv2wK/&u;ң)j`6]8U"j75:$ 7W_Di عULA@&Zg"{bE}9łoa볨m(Ƅh8L"v* >T׆\(OarIv<v|$v].8zEf<;A0<Z1tƗ^̖C{n3i y?HH6q 76dRJV^Έ&{m)5y՝59PFQ#B*>`Sl6f5֜h'1GyaS*̑~Q- OYcZg)l1jr"T BDN=eb1U%]c(tjD_ekBM"BeBzNK')>CKgvM<*$VcH?܉vLC[d/<GD _gvTjLh=pFAl{T`ȞE%.z7ƝE_>GqĶ>Aa3"c\umwr:XZrUN|Py:C=>S\]ZJUX@4Ґ;[tnDUPBqE-.!<g3Tʲ+=E= o½4A }6Kĥ<+AEjM4@ F֎B!@*\Khe[9k۹q_ /Wt5{,%f|P*Uu+y<AeOχ?[SHDŐ~-nx4ÐʩxfgԲQŴ%Z^hh蟯Jrew83M3>Hߪ6/r9WmP=|ÖEIe@ۜIaXJM8hSF<&G \Y?~·!)25!hVA.yW">qƴ:XIB(xJN<F0,Xurk6aUS[Zܱ6M!ҝO"s:@: `Q{?YEڹZӪ7jiyz3UC1xV/=od}F5#*Ŕ <!iu$S!B`(^j<#a6oa 1&dl[ .y{e)tyFim(^$셦cr_[$._ .Kt4~0`#)nµO>پcj{v+HM7؆/*ʖԬܩ1i=~vǹmK!\pˁh^;;NrӠNҺY7)9G:}6\HYB# &:3TMo`EaJ75F$va@?=m/QE!wH *8EhCFXȠg1Uίգ,8a&@xZG:GDԢOFw5X%4l0bf]Q5W;M>SхԔ~nt+H(QI鐺W֒hglav/?GӸ^n ?ܯODT%=8S=6mM%Nυ<o#@SF[aP^`8M%%ȆGC Sϗu.*<uHMDZI֦&|V4ύ^,C?[wͲG{>d-pm?~hrdg`VO-yyHc4Ď$ފ$.Ak+[%fdz %qC "؞C.dIkUCU@G:_۾ލUS*ڡ!. ea|'R9^}TyV)(vǦ_Z766@C8^5,9_PZ%nAe1:>vQ~LnWaP!{)+ R(wz˰FMmFQX8r`|͕% W|Xqzj]]v 7=j6-˱lHie2>8lq|RaN9((Ac*`\[%9Sio?%u.lFiNΐ親$4RQ_ \Ԙ7D/ʞwaJN%{q@?Fc^e3qʫ&|y4Mp<\u "T^@;{Fŵ|'TA\ΧЩ7%R3.]Zm6R<14}s˟ؖ +"q%\tIܸ3kF::5%6oI8d9lh|.n`zFP :5Tި5bxgAH٭o[_ |xz%K>aq~n#r -F[o?z_),}YW)8r*BO;'>;ӧ =!* lAa~N0ݘ)0sh[eDY]3_nASߒfiVM6(8j0<}0c՝1e(ELn:!YȲ}Aec8TS7aK]9RnUXɗlNEA/>h"@8u_jA"]BTUA8/tb"A"@ ve_<@͒ܨ8hc.e=lӛC* lJ"Iľ_'+EvS"xDWV5ctU^7vLj'tǧ'tv9 'D\¬)>[IN t;ĈW aAhP:l5*Ga1?ݸcʎ)GZgK=kia~[${,+(0GT?rolkỷ8k( r]M}K!e,?Z;d`Wxr<xO`>T;<pD%8P \) 'kt܀*m2 *Ý^vaS$ϋX$3`ziOVwmtlL̏?戜@|7TȺ^A~?eh,9lH\OET# h(y&{z!1&[T68(뎁-}"7 µ7.ػE1Ω!G0t{trY1[gDxgi*"WMl9F"|:F |FALʹ$C(Wo=1]E+?eJGגbMИ=b<y{`t5k)^/>q8b5+To7l|g vtc=hr]c9>ݯi6$RZDȟ[6+vX79˦(ab#>LbP{/Q~-5O^6qZF^V%@Y$MiB6-,Yk.PWldVʤGq<|["Y,rE$\Cxvc^S;LgCYn}8D0e?T!fmDإ Z H*E<PW6XbkrAF>t"2WNԘ9` ß͊7*H_uyk6el`a45bSsg-%N1}4f-şkM<iE#`ıaSʰ;)xwasHuA_@I=ޞ0.R> \U^CzgL{WX=n5k5[zTAD\E8xd=+#)gVZoDAbmr6FAhY¸ZՓe?}%=-U*4>4&uelޯ EQ+|%*Ua:O'3&djx7<. I^v鰵ݛA+76,_sc^&{elI.iA~c\TN= 1h ̌#XnhF0ЬR&1~bTCŰ2-أm4i/ep4zBA\M<ʝtȜ~XUnke2ΖoS;iByeV$ʈ-ɨ2<9=[Ȟ:q!]Ahgp }zXvбÃ+Kk'~r=c?%Iy5 !s(8fe%I}reM$*#~,ye̗<Ýh"0_|M֦FV`B.FIWQbRW|V{e,B6{qbӦx$:%{(?2ilpҔOąEnVi3 c,*209@2+V(|s|\1A; Z#.%"\=nn*}Գ?4fti[!a_,h[@)(w\k#2$UsZ.?tLI~7*0So@lgߌ'zHIC'3wwr0Vєm g+o b۸u)8T#e"зAtBҎ6B g8s5>DR =Z,Yj&d߹[wƣMɤ~,<.n6૽(/QCDȎ(S:H?Ŏ7qT/SkT`2DH_A5cn3%_9na![U@-s T&.)F0b>HقT=oaU !!gNƻ B`ă #Yc;m2)8aNZ$ )6[Zl|9pCvHĬtMc=Vd[ <0z4EcXN3J|zf鞨Xqv_~%zkw42YG@HK&tIV8K [Dź r٢@Bs^Wkђ//b#0\U'(vCq2MV~+0E[j9 ;J ݛ?KZ?:wۆXd"n(f"boE "ߧ#ù9uĮWR_e\'zMG7RuCk1,:֎£_r7()ƒ..VG9ht+xR1?%^Qq&dV(qb"S{uJpD"qyˊ7/~7`CbT*zzӲV6QO8f\:jij6T1͌bQ#HJ+a0Xk̀i]c Z]`ye&%ڹK LUnvo`Ai}jk <MOpt+?Ŕg#\u]0iez7ĝEAMSq"/;>W%m ӡD32u(5EɅBx r)ecPUQ1o[дg {.VT=4HtC]FQ$$/HhP'AkS*W+쵮F业㞁>TC/T=$?DjҾTLϬGNz D|-rE<nAŝ7<z\P8isasrNSeM)AxN+L*T;f7 Œ#w &Yt{8쌻)gz+8,Pӽ%kt4p9hYhD?=9NAr%(q0Jga=/`5Qll]*:o" <*5>_1V),(Dl~Gj{d)7VN3c#D5I:KzǍ>n"eLyI*my)>CXʦa`PۺTt\bldtY9̲_6>EQ`!l=šRwUŕf[3Qr-g8l.gSN^ +`ގ/OA=QuI~j@oQj w߅+䵖54WUj8l@5c(4@Rj+Gj2!]*n,$D'̽x*anq^ 0PFN%e%D5P-̮ ۹`J(shΓx}&|pir7dAgF\kuWo5_]5'qe&{G7y-o06to_ujw@nŅ57ny.sb~Pd /eSaDG]Cq(\nhDƖ`ZҍJ əL]*b@m7['c57LG"r Э[=Wyе;{8/9^Gf7o<1{qx~r|tFa0S-S&>ihybjon@tfPX4N$m:܆tO"]$(fgF$"dd&Ufq%V yn/NL1o2|-^vģT 1UȖǂXf #"'?LTXwR&\65J6:2fB_-lr(sp,63!ގWE{Ykŵ v<":Iz6&1!ك,nmQx(2YϢW:2XVXe> LJD\U2X'fVޏVٝ`$oGA39iƚsdK/u&,^=2 (͍z -e0N3%Ov&g<cRoo1MV%&jmnlm?@ښ$hVkmIRȞSxj(f2} +YC<r8)bI ܇t$1(*cnE`ʮHݗ2I{ "oSL0#4g4aYW:m/`{h($n0npC" G<%mTvKo@0xU@%N''Az eqۃՕ/A QySB9߷`!85_ %%Zs(suJ&9>裂9t qk\ÉITpl*9cuJt0 w="N=6\g,FoS$XV_hH5䥢"X ?xLJ C9Rst=U a"2 +R&QЧnELR ;Um\0%]˲zKn8"r}]/}4Sh@:SkB}+Zӊϕ0TjCA-mLR4FSK^PN^;7ſ27Tks1Mo vs߱Л 9BciLbr}QT ̼,Yĭ/4[6T%/,LAν /jqˡiMj@VLQ!&R,;R$b:mDz%MhCo4P95m|+Dꮌ.X3+yTpGPD^5\%h[QKʭ`$2r%`1bHH갆uj=J1fB#Nl9/~"{ SK=b7?D;-[,]s@\Y(;t2X%AJ/=@ ;<y/~mjpbx:Sv>[.Gܯ[V67`Zz/x]+ݒLem"Zq0+fye[y\!pYWRE_^^bS!aɖ$7U6gK=9C:饅&}$$BD/TuNh .1Z<7n︃i[m'$" h3P<ɥGBL͵T"7HOK"tOn[zFN'$!SܫpIQ~2n|LS(7/>*o5P+x:f`6#t^(;.ElQ+)p&&') 7{n'2KߊwHm:LŪmtzsPR~eN/# {/hkw"$9 rQ oNa+]LAEK[8H?J^<i<e٦ ;TB0N.dR>A?P!f*^^gw>B^xyIy:5@uǫܒGKJTEi4͑#}`h꿑4fyavBb~2A}n<o"{<`;ױ@- L 8/^D=uJR@QNHϽpf9+?4W/smR->7O2.6bY5cx}ZX68<5_{(S#wwr%wGS}$J_qbQB@wڎơW@~gLW3hZy`ۤpsC;`b;j ^ ^'E[MvM3mBnn oV=1gtK.]KKRvcź-L$1!Hovzۏ+V:ؼ2P;3 Hs]>p־L1 0`6ĚJfGcD8<*=(^y6G*͐C낓N?XȔV(z߆A;xa2cY`Hqʓ~A<xqDS|l_QNɥg0 @.aJo4V>y6y4+1GDMDv|w#{rj兲5ʦ+jܳR"̘݃D'=2|\0_kUAPR-.ġZڌ'Α `1$3`8`O8&f$6qx~TUJh;`$ƧI+C]4JhNC,LL031:qWwX\RN&Mu1#D#|&1;-O=($HM#gE7}b0X@(suQXɀUPjG~Bbsyny y Z M9F!kNAr%2Dmo0Qw6 Ƅ%<k5x;]pf]SC+.n@@{ex땙r*5LUAhd+`;sOYI+_EYD!X><}@OB6#6zRU%kZ2Uojw3CH4qc(h0*;[e)߷jA3.Iw"q͈R/yo!D~e`R?2xHYd[[(]v!e S*Y5%_#핢"7SwMH;DnWLwI|0nGOUgM~m7[x~<6rxT-0EHV 7Ǐ]֧ i9kY;<Q_Y-HDEDU{Ƶ-~1~<e[ǜqdXl ?ml߸ՀVVAn/9:E(tox\0G?lI|PTS{aT&6$IOНnw6#7/~V &3kf݅CW%5W1MwvV3j.+IqŝB{cRRkBk pBi豵ϑulhtIa 4C[fc?.HKm=#K$k(yJ5Q+>L9gɩt* =s(fhT[D{W$i7,$Rb4[edyލ2Xh!Y!24FW@` iA4]"|ːNܿVhmkH$X55pCW=*~TkxŴswϋ<Ӯzܳ2-QP9Vy;ke>sD8YtHXG͙UԦZ%YƷ?fll2ZiTkJe|&oQ}7WTOSnhӭH c" 8>*#1=Rja$G& \=g;d^dX `rvi'jgI" ,sS3ċ1h]U|,=ݻ[L=[+.^@^0ńI]B#45v=`k :t%x:cp?&XQL9_ܨ>vh&-X<c\uOP`zzXՎR)+gԗߥk"OTkEgRi^WK!LD y.wY^ιC"[ϬmJ_m_rTZil?}5r,3- rasfzv&:+O"y{:ӦIJ5gx'k_I(0zYx:C"hyeMU & °p[ybq'GĘtuXz5G"@_{=V=7eޘ>%CS0o@M"Wu?/'hy `s; #e -XTM!)kEMHQCV2W^7٩k®qْvZpL_a/P\'*7Uځx]ߑ潘E|_мř |MՑ_Z,4Nr=ʲ5r}yf :BRv4y:2/!R=%EO|lQa46 G7!c,F!dV82 >$rSMC͐=IYz.Ds'0臜UḒ aT90߰'ɰW!`66(,1eQ6H;5$_Ӓ \6pxiwIa.,oLC|Wa5h#)qQHs;bu{+!w7[?jIxoeڜdE'~R"t8,L- Rjţbh^a.B,קbI(`v!³|B\{}<XѵA!#WK NYHV<J_U^4WMk,];N$IV@%fc&kՊ j47V'^ݢm@8t/] VO-*ԃ_Y!Xy5 E@~KOj0yK9q*t\4yt 0y+)F˸X'&ZoeV' $8ddH ˔(2Q:g#9"Z2I4a'вvi1296AyhSxV83ӬBJ<ntuTVvMO_ӉprTCM(ʫ{`YҤ3VsSTpn }ʑ:[E^4f_|G=ЄCD@v:Z#/|8dAŶ# f fiOw2g;<S<^ ]-ܯ70j*10O8t}yRdX:S˻;rU(~*Po Qt|Pq~ClVؒYnbnϓ40琐vuQ/[cMJп<\# TY@N\z|PqQz4R2Ӟv% 7ed5(IAw~~L;,r@w)2D*&]mPؗkzt[Rعhɛ Jw;CYam3ĹN1{76 N]y=SԚE.mUM 0b`\D<"t][ﵧM̯FJM G? T58䁚qNY(.\N<e(#/ߍzz9Ϟ =Eo4a 3?"嚝bE`fWǂ%+uҗĐ,&T$ḣZGJ<{P. V/mx|e{!d'< P#M \HLU.4.#PVtcvmBP*)dfo)wG0hM(iy|*+cweShQӄ T@Lr6j!#oU/eWEDe1dN+M:NOOnïwE_iJMk:miv;h;!V1{4 v$s/⸝S9Y4Y%lHB1{BcBs-5Ar?~1ޅNY#;J;LHA$;}(Z-*Q-aԯ~8]jN'AOmRN,5]).&cToE#v;p:گ~xߚeX6H|Ysusq{|{g~?2VBjU4:/RՔSxMUMO$S^;GeyZ `xc^)L*Tq !N=z k kZW~> /7Ix.j>) 3ƹQpyـ6W8,t(9[I,\aYJfnUL!FBV:~Z%pQ2^S")B[egJ.Lwɔcיp_S~6 zkq6R{n$vF-`86WZ]Z0c3ce0X!c^ZuhxmP3GEkωep6!=OLI]V";]>Yހ $)ͷ#*)"W`M2LJDw7i4]yK)lطgOA2H}۠ ԅs~SLF3"nbk1hJ3~ѣ*\Kh/&ƀGWl=**Qs \QڽCoͿ#"`>掏;>ʒ$N5'v=sDžz^;=U)ҩytP鶵iG~ >v[S~OMV폫1h(=6E/7PpG3|q..,cxV46lf+JVqZ<%P|~ţ#g:$gR\xY<G@<M'4cmX%ǹ"۬_Dv>JHwx`<I8l7=<c+]"kT]=Y@0-ёp/R.-Rzw!W2sE YV`M}2X~L|0/Y3\D_I5f"D'\7onKV2h"9r x ةauY}c0L\thb1i3wtS J|j8{Y/KY)jvN=u@4U̞ѮHp@TY2.RC}@&-%=lϔ|ils<x;-U/KR1QO%;J(S7uW>RNL=1À $d-N}à"3hG}[8 ԡt):Ԁڕe^V,(fꉎz6z&tċU.T_"]@YZ_a F{6ĽÞΆ`S>z(M.kgG"oR7J5`k@Iu&qLeDUXG<IǝXVM_;W#C̒?ވbl9UK\Β6[Dһ6@p.s&n>rBLN ǵ5Ʋ|PG5t}SXNlRTU24ĭAMΫ@^TkξWX_$@ƞ~ifXems$H$O'=\t ې#8gJ%q c߾#":NehqTMhtmݗ<'#JpVS,AG1t!V3ʻ@Fk-ЅljM;6f}6. Dk0桭ybK@3]dk!z?lX+?a=$Z.ׂB cX_Bnjv<y.րywmc8<5(DiI-/ID?uǮ_kva-I1>i~@KQ IYݸ<U&V&IIlG97Q4E뗋#b j0ĀkpM(iFn bUby Sd/X=<:J8wLN3OPt+F^ ۣe%_ۋdcWq!g|+8,c!I%pѪ\yل9yjԌ^mVA 2K =AxQ< e(ؾ{<T)i$@ ص;s>fqJF`h8<^f;c+M.UuJ 8f-+W_qlPIq$GMY#\FX :vl 8#vS'ũmVb+ǐ+oVw5HѺ=x+ I8NU˫IM"?A5}rW Cu`&G*;tN#.rzõ~%[6m%g*h>e~YQS`gq뒃.Ҝs !|ң*D_%֝ {U^kVA5A~njZ~$VROعOpkʹ鳁߳C:~mQaU ]6>ޢF$z2v;uLZ*QKK>,MM6bWgYji}FQ\&^4S; s"!!|UZb;k1@ԃaEpD=|ad|j4>SyvZb#U ߡl]lU1EQtvʹcy/ZuCFic~hd5lbF-E#Ą'HX}i` ⧁@`!eG'6AMP3HJj;x\X*WJު#2ݠ?H$=ko:%u~6 %GDjn : ^*lYI+.E>w6@<Ǭ8hڈ2yI|n~TvX$u^G3M[НmN#qtFp֣K;髼Wx9jS0ӌEa7G:;K=JMdTDHw{<͓ t4wrIw,xuY{w'͵#m\jYбìtɱ Z$ ^2w ь|f=+^|YП7oIX?LZ؛|R>(`.Nч:]9jqo}HhWckM#a]3B;%ωe6 xq'x*4@#M?ΘOQMZ( y Y<t$\=Z8oyʥU@1xP(̣.J[i@f|'GRlMBYؼH%XE`='0 @Iݜ7ߤ(=Nੱ٦Tm,/.KHfZtjZ./ c|lxYOj}~ng 9)K 6(2*5>B/A>3bNzJ@KkJhIvvPJlƎ9v2ِYgFI`$0LёmfYA:p#auDW5["ZL[C?G^61UҊVZ9fe"::eЭN$+"i/1%WLٍywxjWoS+$4q ~1Uû4\VGAsa'30l%fءJ{־us5x*R$jpݾ[]ԃIYCѰ$}[ZtR[5"FIZbp+=ǧBh;o"GZd1FVxPxi&pzüޟbEnrƵX'H0g@aV$jarf%>ψ$^.qzU,u=:E mWv_'í68gY<^(]Kis+Ў=lkyNpʳ-iRJǘ*B/c<WO{>|j4!'P47Ρyw7UdJRol2^Pn(Tt+V2_Bn!;"YffVj9? (ªqI$ےr:q֥ZhJ~BRf Xj!^"}23,%ŻV֖JoYFG}|E#3<:]iCIhQ L6A'< Vvw?rVAJm]I}Ovt?~ꯀZR?? Hn]"֧8_s$D}+3.co|B(A˄0iA(1:vU?8`3es%R;%;rmSTpF"P?|GyB]~8͋'#r X#R.t?&S]]8Ncç`0u<UVb#7$-K-y{c5ƥ 17}EA%K(-'ĨiޕfeUT079 `}EZXp_Bck[v߁}կ%5HXozcZ/9no.O &+OsH@6&Aob=,,-` JQ8$|N|m#cq?wEoZ5#>r9 VZ#]"'Q駖bIk.D|˳y#^N1(b+Q)=Sh$@2$ʪ_6KhδK;b˫Ip1)) O<lȘžEbpZjkJJ%]48G`yӿ86q~gz8BjI$D`L6 MVz$ȓp]nPpߙC'-\@OƠ\TnAρڂ%(c&W.[uN b2ZM/Y 50QpH.peRpguRB6XdSƋ1l\/eGRz'DYݻߠKngS}s8B]G3O,qH]e5'M9ջo4y629^kAH{ YJska]ߥc_J9ڏ[E{_:2KAA֏C82X$f;(LI~gGx#ّ[jbv#mp7Vb[ ]XW$gjWprbs6rA#wE35ք]0;3~к3 Z\C]՝l>?HnFj y)ߙˇ]P%s& ܾ wsLo#nQIJz9MB5?ܰjb]ߜ )өʥF_V31D;z.`$Ds. `,Dش>Jثq}Tp Aox*EBOsNx(Zƒ=OX]Â_$&z;Lf@OS!LR:>يC-;P5cthv3ܖ¿g@kG@Wld_}C JawAr٠:h4jgUcAH٥ͼs*+COuNx3D*Q1:ƵXfЂb3/_|r5yG8*i rA=d8oC|ծ9X- W;ٝv. FZe ޤJ04U-`<^6/suTx{-!ػͨS=vY'Iiz?GULWU^/Zʛ}*ArF?$ VAH~P&{[,2AA&ɟo(SV<X6%TIYV`7܊gJaWx~dzK]@RY=9æ)Wpf÷ĴIQ|T}rT!Yc^9XLR NDU8-;;ԂFm:<iS=%1?3 QqGRPnbIU5hcN/(%OΈ0 5y¶!_HIMLw[u~]݊O;Q:SN8[mgv |%lcǎpo | ;MڜzgѦz6p/C)!KRPFe7Rנo˦Ыw&{o6o3>w6y ~ #=I3ZvN\3ܮ&ۺB[ fjOu\hWqG\%&f`hDka}+kj,}uAby(5KWO F?3cZ6:m2 3MuA8pEX|'#D5=Zwёq]jgg7{i9%,_K76u\mkOء5U%ZӫpM5lVJA5*:NJy@. -w֓Q^{>91nN1wtEL xa*h-*exφ8Yaqa!MY qw+)(..shdR({=YЁTJ%FHS7'pNde(>&O_lGBdpF%)B Ź6aLeBm# y kb!䳆> e}HCWy%mDe,1Ey 6\Zo)b{0(k.Bd@ )@A 00xWNc.F8/R^K1J\et$VdEC&VDBbnqp\]X[hYY?R&̬|q7jw#X@DmvZh&9 Et7`"4$4k4H|ؓRȗl |%%8LucjS2}dF`q@7_0&::G)7-CZar_,"W6HD7LR0MnY%LԂ*9w ^\6BӨVW^^&4y:<kQDҁ^Jl[TL<u4`*#یAPEF jisF3}|+k._B35t.u_ >Aq: WP(_f%KX9|Jי'a28c!=0 GgVz7mJ7ZZy7!`S;]v|zՆp0*n4He}&Eq-~yUl.&TsTXj}xĎLlvj&)lf5d> "\v۹$|뎼3O|CiǓCAhxF¬l^IllmJZv6>6n0b5R5 ؕ.oCn,H)!!i(_@_6Jeu%E[*^sfv;)0v>C;cTOtI{3=K@uJDEډ@\ "rь AKP.zK1xĆ98,tbK4b|\җw"K%0<b$u5&~ }#-Q4K(sÏ #BكݛGOH/#^tm֪EgY3CGKK][hy0>D7VZ+̢2s(e]n52sR'bpk/#)ٜa>T1ZW24l!tgAz=J3yeHn}<)J `GJ]F\vS]ɲ(~#/3>ډ}遜$[^,IohNDبʹ($:2)GK1HXF~'jndFjkV҆>RV3Vv/I$]TQt,r:o<@heo麍o(=~27OȘ^fFiM,Q N{uMU~ egC|bY'M]~n?O^T.aiTcl^?r+|Ŧ_!-vWEnmY,$&Lx*<J'U␇!h\;Wx*zِa5'ܜܾ A}*Q#(c:jEgc7.0f/beC)?-oa̯z#V> |zs ܬqo9RxJ؝˩&e>h1nl>X<mC6^a[|;ZhnI*22KbV4~|p|)cvE@専6Ma79i.ssJO$7,\>+0E<MKfeLOk1߳&E`֦Jأ::H։ Zj|@ʁGv1⚮P$D .B[$lY.~b`A[]w:;d0yqѩyN[(1jDjgY3~%&'5jv1xgOYS8BIRfA)7#~L,&v#4)JFV'MKi^ܬWĜgaYpm{Ҷc p\&aC_fPq} C,wf3Nf]{Œy|ڀپhb-[wН=u؊W$mG<nImV:6aTg.j@\4fBmЭ͒"@3U;}ErJSL+H$-)\'5J*nb772U^%aCD`2Oa%ŇSd,-oFNEu ^mEI ,nַچ?'[*ŌP%IlYAi'_!6cawևJ$ <{qonY7Ls@#?H'0qxї'&o>w2'J8$Ϣе (\C|ꅤ!^8~@H]y鳱lWU@Hc^AgƱD*.OGCns2Ckƕ0e~mf^zU9*6ľkBM&/4轳BM}]Y-MU=q|06tByxJ Sk9NyHhdжlLݒ`A)mZN)1eH F\̙8^b?G`#yQA_)Ⱦ[ZkjT_xI~gJ?T> =CF,-zNь@mLtIN^|6GMb5?-o@;D-Fէa|dh>sg2Tx`"(8LR)*p. +,3p!xJ6'L +*^8^d\'|?PG.wQ^r=IfGZ#Z2u6HB"W=.ϠS6J\}22;8eS=:ڹBm@]a}*lg*$;W!N&Rƴrv67MW{5"awmOK@iKG@9~lX!\[`Xz pcwl'f#+x0-hо|$tzϓi($ «ܵy h"HhSx }ᙃ/Tx˂+zW:,1ͧC/=}9 Tm8 ]9ܦ\55GѴ(@.@%bأ{K$}%C0L6+j/EA%р&^ oQY$c,4^9l|,EV(r54!R[:_xȐ?vB:wPS%3Q%Jr정g A랶vxݜbDل*/ra_3HCMTp712d8qe!e'n] Y?Iw:iGOܨE7FDm eik- Y5AڽK$4!v*7W]k(Dѭ{ŮUݼ}DWDeG+ DLAۢ~Zp@w#8gs7ouO%ԕjY^Etn9d~qsT<9Za;OMpp!< ?aCS]Vʯn\S%T9*& dX4Bi 㾔8keƈ0%aG#Gb[\I4gyeW}tHį [!&Fw+Qx^ fmuVX3C㌲lL}ʅ؛1+1Lp]}pp3Ojވ^ (~LDׅD툷rmAte:0S'/+wGq*EG;]e3>>ԱqXOcwHg V`l|.jMȈU0גeuυDB1 p&/n]s,+ aZ1.uV/a{~k5L$wuYA{x;#%1$p}td;bGj#+=SwF&ܿz {A$}bz.39Bq5X%MWn9rd*?!3Gj&?ڊt+_Z\<-Hj<u'ӽ!?_v|/s-qXժ_X35(0k<4 )7H C+`X^GN@W㲊{XiK&pMDž/w3iF3ҋh|6>*"[쌦 wLo 5O|?iS|kA&+E;l(^CkaZeەb~Bg]1]R# +&μ`8jq/Hk0 9E@Ju!X$7:쨈XjUttFAUE``B,.?4@mB)sv6?_Xm(MAMNXi=ި g mqt}ɿ:ƙ'QcIdgz.M"YiT:GD%.]aRA$&P^F׀݇+yڿ^//=+tcfRȎYiz}wP=ߗ1OǞid%):AX.7?yE<]zRJgG2zeϩ ݷ?Hp #^zPNJ<`-?(\C*Ϋ[&iUtic7 L&]xU!^jV>3hUiDvN0/XnnQ8coiGLw*5PU@SrV9;|pLbK7gO9 x䐭o+y5pz14{!i3jHsW X6^7<jfDYIek8ZÃ|W֣g&b㐧21fv_oRQPpB3fƌF=\z<|^?H;hrq?} mHm#\._ .j{1288I=pTO~ҁ;h3{)b#ph@RYO\E=W4WT1GZc2Eڰ4=0K?"oHmK.+y!˳yzרRk<̮b5<R@<P'#{u TtNJ}v*hO5 <ؤ3Wpz:G_fg"ܒm{rZR+>q<O19ɪㆮՙv?y%A1@KΧ_|\xiuW{EӆziYL1g_RFO_0~sLE-A֧H"iv>-СsާJA gVլsIoLI['w765 q "IC/iy|68ZIW`a7z c\"8-~.W5أ 6VK`v9 br5)v8p1&z\Ub~!5u%6ëR_ξƶrBkMTbXAب 8txhan~Usq%bVMiˀ fD d*_9_Ֆm]:4("`붟n ?&Q*jN(i.ls5QDP!fkx9WWP1={daC~=7JއXJDnʂ內S\Ds`3CNް韙l(:>6mD^-$XI~Z;jԨvU(O8g4+1ꠑs5^0A*o~Ǝiruʶjl`*XN$/JaPG vD ?-chO?T$t>a6z i8=k-c#]e1*E_6l=Gg$sn00AԊL|ҏ-.CHw41qUXml:U =J.t>{=Z4n&*a$Q`f\r-!,6Qמ/yU/?$?vxc`<ġ&rA5/U#ӑ#CnIw1ͩ*xxU<YHN}1MU3#`{ǮY/lOTntsPW*RZP.r)94K7KdX[6#*XL2],"Ә^$ޭH%r) ʷfrhef>~ؽ:f Rp*3q\jUۖ'iDT"j? 0~>H= CD]peC@Z]/LLR'mxTw.AByφQb'5%XBp=`6Gݸkttu*ƿǿEPH~Vyg7᥊0v9):\=jQN7bI琉=cJE ?[<ym)zTũ=W&}z7VHn~Xu8iҒvI:C[@ApԻ)"UȞsɾ1:PsA<{;^ZLukQ#Ezv>bOʳ8q` arׁy+V@gB#!!T' &w|?ZSZӝtd\f<'EO6jnNu:!H_$ҼeB+kUH dU͕y.įqMEugjSuB_Y+TۛDUѼ+ODqDAzsღΏ-ߒM;ahc|Πq2xN .P^DTk*Y쭙@M}̽F@2}vGb0ĶDžZ5g*3"j3p6窄#B:826+dl5Lf}<Xrd Z ,Y2M\{F-%$S(?* WP@˜3I2AnRiRˣ&tC+-!*Jՙ;g]GA!0R:(/YvO( Lh9x$%rkXǤˮ#eCWt2`.h[GQkʕR!ŵ&+!)ta9Ar*XꉽPMsTg>2 1xH)\21oS<)]l-X%TZk.?wo)̻8K$,3[,UB'-W#pۛh{a(3mvqA2Nh)> #ȱc%ZzF5D6P頋BNh[MohHcWa<o r1aSƩ=ۣp?YStfŭn6lٟz[9@J`E),X|]}ōfkm&''RZp>BcX0wnG09[\&+9;P1U"ll6hrF,LȊ:{x_ʖܽZ ªI{`=d.FFi$M!{64s$-zy<*x/{7ǽjw`*ySx4i\ir;\5 t<xؒM.e[7iJvbL gQm$+qCt!Iъ(9Աq49"lzD:?pуdԒoсel߄ZS@V<Jv,iYz":bp=ۣv.o9bާ_%^nc\sYQ#pR`gRVlF?߃E4&HMh;?,y,zl{|z~b)sd6@ 1:{<9<;@6{R@:W,=/8'Z*r\&!tR.F;q-/~ζhpA[!n)1"b4cbJb'\i4,1ɟ"8.]I^K!Xh0F7䡊Jedovmnk#Ȩf$誅UXyCՁ@jCRIכm9?kBIq&.hӰ&,@m Qjƿ s0J\&O`D$Dtrw-nG[f!n[ie~&Ao!g%@8INoUTF>&2.8oBjRw9CRQCGX@B t{gCVY/|X^]R]_<8n[ź,v^aU~zVŎ+O9 N}Lv cl>\h`*IUhQ\(/8<BOf8<{4cF`{r/T;{Q{D?dc˓qS{l`<ǹd!kH>Y*g=U ȔuTFgu"ozuo^pbB iGVpXY?RJ hFxR.0!c)O^~K@Y=D,t؈9>L/8oUzc08R$Wؼ)XRj2}^rFץaorhίlV@A ?Nv 7e]%_ǕFADxe`mt,Fx'ڂ,MB_i0CpVw瀦ֺfudX{Bq&1HG|7v \#b6 vbY%S6܀GaQ'KT4s|H=X_ 3d78NybYWfd-{BvF ,Fy><ݜ_Vf !JƂ+Աyw?4B'+Lsơ7ʃ֘ bx$냶 SYԕZ2ӎ6iߋ6;pv$1_W)=wZO5.]'I1!r#8+UV0uL}6q/$_~vVOd_Co}}zmEgْǩ˸Ma%6 c,{?T%[ vѽ6j-$Hh>Q#߅(>X=B_q' ٫6bˈ[Xr8dz.ѕIj%N`4X*{pk1NM!(*CfaJ3h89c/9L_/]0]'x1/$7OKךB%TG]KG:ylk-f{#p;`eH/ۍh swsP7PT 9˃Vbۇ"?0pߝݳ}f"^$_7'% 0umw{K5]0C2ra*m՜Es=NCsFH?N}pݪ_ ,9 ~'O}sC8?\a-V4l{*>_ET|^7LڣDsFrIr%Ibr^%\^NlMWtaCBlqY02=A8i\/F-> DI:h0b`OQN4dYL n-[+2_N$}_(Ez0EڍTT붝no]0h >Usc\R7WDjqIϬg9_$&va"In1X"eAʼ_;z?xSHy v+ {:i_A]{XОNڷBxNJ7-ijBzbG|A4J! Tdo20k1T,15ⓛ҃ 6Iƻ$.F^mR+HV[Yɵq')pķl/τPm67n~FVS{Űڧ:kcB:YT}HH]]\}l=d0n"A_v!/lS%`t"T J@i\_*5 {NYU<2- dBZb,蓣GAjuc-(MSC`jޠ5t?NX* n%sT7:B5g0(d1z٭ҕd̄įqx+hRXnKST>HVLށûx#W!Jjmq"Jfο
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301111615.r0BGFnwW050631>