summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>2008-08-14 16:40:07 +0000
committerEzra Peisach <epeisach@mit.edu>2008-08-14 16:40:07 +0000
commit3ceb437bee2c48950e5b4131164276870b40f8e7 (patch)
treee2695cd4e52bf187a7b9061c47f94c4bc4b2fd00 /src
parentad499ad382a7fc21cec0a19236cd602b4bee7366 (diff)
downloadkrb5-3ceb437bee2c48950e5b4131164276870b40f8e7.tar.gz
krb5-3ceb437bee2c48950e5b4131164276870b40f8e7.tar.xz
krb5-3ceb437bee2c48950e5b4131164276870b40f8e7.zip
In parsing principal - if run out memory - clean up after ourselves.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20658 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/ccache/cc_file.c11
-rw-r--r--src/lib/krb5/ccache/cc_keyring.c1
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c
index f69d4929c..0e5a9b666 100644
--- a/src/lib/krb5/ccache/cc_file.c
+++ b/src/lib/krb5/ccache/cc_file.c
@@ -503,6 +503,7 @@ krb5_fcc_read_principal(krb5_context context, krb5_ccache id, krb5_principal *pr
errout:
while(--i >= 0)
free(krb5_princ_component(context, tmpprinc, i)->data);
+ krb5_xfree(krb5_princ_realm(context, tmpprinc)->data);
free((char *)tmpprinc->data);
free((char *)tmpprinc);
return kret;
@@ -1807,9 +1808,15 @@ krb5_fcc_start_seq_get(krb5_context context, krb5_ccache id,
/* Make sure we start reading right after the primary principal */
kret = krb5_fcc_skip_header(context, id);
- if (kret) goto done;
+ if (kret) {
+ krb5_xfree(fcursor);
+ goto done;
+ }
kret = krb5_fcc_skip_principal(context, id);
- if (kret) goto done;
+ if (kret) {
+ krb5_xfree(fcursor);
+ goto done;
+ }
fcursor->pos = fcc_lseek(data, (off_t) 0, SEEK_CUR);
*cursor = (krb5_cc_cursor) fcursor;
diff --git a/src/lib/krb5/ccache/cc_keyring.c b/src/lib/krb5/ccache/cc_keyring.c
index 163ad30f7..d892584fe 100644
--- a/src/lib/krb5/ccache/cc_keyring.c
+++ b/src/lib/krb5/ccache/cc_keyring.c
@@ -1360,6 +1360,7 @@ krb5_krcc_parse_principal(krb5_context context, krb5_ccache id,
errout:
while (--i >= 0)
free(krb5_princ_component(context, tmpprinc, i)->data);
+ krb5_xfree(krb5_princ_realm(context, tmpprinc)->data);
free((char *) tmpprinc->data);
free((char *) tmpprinc);
return kret;
9 V!Dy_O<^9^ӿ-Yw nU ?E_UL pľ={J"(+s[zU!uQhs% Y F_X)@*pazZJ}dz0D6]16_=@(*M\k4 3ڔ&K I- $s)IP~tԎ )=X/# 9T~3=J >d1VL'>0&0}|,aUsV2t(1/.$M(Sc5:l nS''!*Q}<{rq^E 'X`yQɏ$BY mɳ3RoKu)1eǀ+:2 })þD})CYG|7d٬$V\zFE E*'r2*&1NL;ķ|1"JqEY ˗։9>R3I K(h+8+Ϙ<Dz'cńvp"  3,g\f{Gpe#wy뙘\J/#łO]Rfm 22ޮ7ًxsvx-شMiVݛR8G$cbu_4ahb[0ygTh9\BNnM.mP ng519`6thxHٜjĎ'as"Qy+]ʼnj'FȇDXDclL.JucۦhC<͟w^rX'217 `66:Dxy $29Uhf}Y45 GS=|CXr-ՠ[ E&pnGQV|W0$Ơ^*tNY"=[i֓$nEf^I/j*L䌇|IBL|/C91}3B4+ٻdi&>U)dvCR$t sFwf6DKr_~%3`EV;`GHO@+Zpoe2>'STG]">[ܕ'1t 0r04^^Wzi>~Bi(ͷX':6>ZYГЙ1'O/J"!|)fl>_uz>bH ia9D.OXxH I@U- ua` fahMn}+-Fav_0?'o^ MpjJ*6鐋G[LK"82&wKl#_WHR]d }ںq4t#ݱr6CMw[/?qH$> xYsF C)$rymgb:Jw7R!_3Yfūo~|(Ϟ J=jdŦ`RiW&Gٲv%b$_}NJ0{L]լ=5 B)(0dP^p,PaPVs,~"8Fuc$aEԁIEҁxբt JgsXv2}QEN @ZE@5CztjHȍz{KڏQzVKԖ8e D4K?P ~$``>á. E_@6Vl&A4mnJ ,KA)d' .Y޷oGx43`q㲾=2fbH&])u%ٕg}bp_VD;8"#L6TvGHμ-10åsR<їxĦ Ij؎P+ĨZ]|G69kOsò>|XήBq54IDq_ #}X:h?pk pM՘z$_clfF&CrV{bqU^$ՐNpnm؏Aƒ6ѶPΠO l瘔 GYYiԉ|'c vݯ9߷83>9R/[;A鬠%Z0I&ry6ΰ!'i;:eOga6gsHhtٙ 6_H]Eyw8.o|?}J<3 bk6Jnj:OXZ:l"茭=j<ڜoN[3 ThgAW2Y[\^Si2peґ!18FvRc QjVy]BKGMP_W6*Ն)6.pbrc,AEvJgd2n =}qM9Pc]|I# ]\X8S;8U1NGeϳ%`o~^~ bFn2:.pⰱ1 1[pMRKjGه80l#" MS#4`W=$͊H N,OC'iLy[0Rc[p9QNn<w5.~U3)U?Sl:nR, c<<{qV)voTJd g*?%=O߂*V; RQ %iT%#wN+  %@u'z8.J-稵 -W2T%*$Ps dpx#Ң60.KltP.ټQ0̙poxg'رa܁C ٓcZ&PLE:3H2"+-HK*$xT/ILZ-NZ6qYY3^3A> o8a`U=jb8UPW_ޓsa./"B,#mXL0gwۭ{tT\nټ2B x[Pt& U8/N^!>,^f߈q `؝wP!U%BilT 8uC5 `dLEN9%lϒ&g Zj^6H 82$Y!l#n娌~60fIXIQD_at[L|+Qx a咓QFwWi9 S|%! ٿt-e;\XH Gp%63[z ) Z  14Am? 4~FiVTn dҁ2*%t|ߴG^|**v`%@Ǡ g P E:f00?OWX=J khB_8v(Z_†QǯI+A1p;F􆴯F~M̈́r"{^{$Yj19#j/;yMT'pWB}lľL1 =#_K*TSkZD6*%/b}cY3 d>a!״ Rbtk{~ ب~bQ?:av>5,2,CvD.&FI]d '[lƗŴvrXb)T̾;9ƫЙɓz2FHs%*CEgfY7%ЙN/ x)(vЎ4c?rz.x$PCA%MlN&j5B@ӌ~ N9 U%>#y96xJCuzrIv9m98!_6 ueHD#cA턛h0ڨ IړŮ ݜI'LdC@16J4kŭH*w01IA0ێݷK1^aI_lM%]kyˎ P^ ΡFXE1W=qNݺ[[5S?F.N'Z[J CMgW嗒)fh'X(f JS9o@ !ccQH~m6V9UӚiN2 "6}zWb!:$L "=՚*tfC|wrCI}*Wt l$x8;9>CM T孛#Y]/ly xTJ@O *?%y&'x$ں"D~.i%,^9rw 0cc̐4K(fk"2u\|ȅuo=^j.7#^;lmI;Yn1vd,+lp$,sB¥.3yѺlY䭃7\`0GŁ iT$ITbO/q^,c]S}?5rٮT0_Պ> e0phQl3VWz Ry2y(YDYyubM5ݮZĹrQ:  J(]T `7jQWv,$ܥbU{S1u8% U cͿ=QKfWݨeх-,fM|×iNp@/vh#* F q(vvӦJ>D)6 -Hy!WG0œvbH )& h U};.STӑXzX*l`BK?d`uE?qXf'%xSQC_v+qC&h6u>mv}glj;{9@H"W*rksBtI}p>p 9}Eo}OC3{> W$ֆ[J )ì-5JBInQ5\®JѰ䎻R,HԒ9DVfIؓ)iQ DYKW1DP-s0ƆSqZm%.DZF8Ȕ;9|O dK͂eH1^_䭭lʂA)6W&܉$ycK C[%8q:D6(ݧ:1M Ӻ&=۫!h1)c1} l2hkxpIGu<-Ԙq O-M4&.ڼ>$¾`A|8m&'ә#lOR4PJ5fΡgKX<( LaiwpqQKb=GϑXRSMn.("yk̎ l+摒-{uB0^dhe~L :̣ ur\Nؿ[TtUuoCDz߀H4Я4ԻzAtiwNBɸ~=cAIqr(XwbdjxN@_!Rl,c\XEYĖnQojO,}s;n];yz{eD= m*rYeh@?~*mqg-Q`y]M_& UŗnEhm OZF䆿C2wG6fqN*\B-Z}Fca8۲Zö Mvav5ѕvD+i>"+2&6w\j7Qp )`XLZ N r(#cU~}b`A .]udcYT3pܡE +Q/Wߥe/?.L‰gm$m[ŶC_Ր>%et6Eo[=m@[FIgTZg>hчʐDpQjkq%,m ʡSdCc4= > ZF07^Kn{ߕ0=~ M:)#rs̃"_ΰέ&^IXp͚ΑtM͋f ?:Jh[qz%>"vƄM%>b:65Ɵxkyˆxљ P!+5c"eJ0uн=BOl\.DsmSBp(lY??ʗ7>rN YB? lDA2]w6YJfJܳ` ۗ- acu6-,AAQZ~{̰H@Q ^(~VC<{(fHr/S ͔Cfց }&E~8; ~YrcWWoh1/p.: 䠩ϥ(o֮-iW1@m(>VhC)K.ʙs`SqnqmQEO}[C~]rq3)yYc2B"xCMŲXg/r#3؅J0ùon V6-i Mx 7{Ex #s?HfKy{2?6m*)TB%Jq8OTq C)w,^0׻ yF@.M{cubϦZGɭj1R}&d .{Z@aatCTΩ|, VP޴KfI 9 EЄBN'yX&-|_MY+=9Dwbx{|_Ġ(cHw88@P΍H{KD?Q6b'$A۴JyoUOfrS0IגJ\6oPŠd#W4K)aWKG}ߍAG X23'3rh?iwlIN\}kQk8V=ܔ:I(|M}RYoJG3osK$t bFEKݣ/),!9h4.[)P|̧A~ ?ǝR   :rΞkJf ,㜳\OK.w3e= =<ȉ?Z뫷0~U8qDhBv VTn;+#wYb iWxgl2I,_RP5ZWÆ bUR*)3gh1Pv2gHkAs1.w!b".'lo rഅY23^eOӸɜ6JӍ|WvХloG@CL(҂Ma>8dA-,8jꮔrND)dU)6L'v*>U<"B5u+lD60`&n@h ?ݚ%樕uAl\žoE;l*KpOyuѳA>g^Y([)>W8/R+&[ӶυW|,ͥ#׉!w=8ޜ}qPnn"9Vߵ 'D"\u *rFTiзHG8Fՙ k5eM>]pjdMt kYZ2ff1ehTV9m{ʁɶ? a|wTT*%{#ѭ9 $TʣHS^^d:L!SL(NJ'z8g2jJȫ.{el+tW ɨ<4=9>ؙH۬pq`sg^=P }_鱱1"AOUeح9[B?$ӻu¯[O 3$xɨ{vi2 k9G/LY͸Tc_YHՠ,*(2ue]1tm{ Ώ9NE8wGOP u3= z"PɂU&yy7<9U# )fH'Ei @ou4qnz_zʖGNsiŶ- ۼ\3`r.d]a{ԧ\Hq@ǕݏJCBI. G "h7c`oXyDLR;Pѧ$-jyp.:,~uoԭ4vh|Mp}5-ZlE(?4.ojvs9[%9{NIo?˥㛒;V _m,iYPpNν2Jf>M{ N҉ĤulmvpAӗO estK[PaH V< wJ=t}KPY(i[77{@Vlk֐"ONsc29އrNMwƆ)U1RO%,͘/[W,ix |gmU8mfUy;u`K-BHf/\lI`XHAЖ64'A-M>b2ZײYҰ {ؽu 1HH,rR`'+3+iX5׼\JmL9m{vSN0Cx~`'OJ@U,cc9e+Շ^zz ȇlBX 08d*=RSy3 @{B:s(>j$/0_b@ X׽:6@gKb4ľ=@s6J0l GNfi$ EX]WUGCİ9 w>}V:Z@W{},/!)+6?6uqT@tkA(Ʉ.mt\ߜ ڊZ5ay/v`#|T-'/+( S67>=Sj̐WA6d޲B1UOgg)\і<iA ,"֩I1 rAT\K!Fㄓ@ݼ.5|i%['Lc@ ZVr3E*͑m }B Py#1Av=Ѣ`9:5 o!âʊيWɭjl]dp;޴ͦ~%V^{]*tb0i4*'JBkG:XOI뽞4(cUhiQjCc@)'Mekw⺆~?i%@ 4ɱjm&th(q{{kŬMuՠ+VagGuXAdE Q6|`h>Z%,;AJwSn/٧'HI0Y@.([c1qi6 5oJNqCKjXFPܾB4븊5 /g啄CO_.̵o8C|RYwƕs69N rPRGMh7ɘSU;w%f]m3{SNDgYZ