From 79b420fca344a3355adcf9deab92f74f1943951a Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Thu, 27 Feb 2025 19:56:31 +0000 Subject: [PATCH] Fixed issue with double free. --- KeyMaster | Bin 34608 -> 34552 bytes bin/KeyMaster | Bin 34608 -> 34552 bytes src/main.c | 13 +++++++++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/KeyMaster b/KeyMaster index 6c6bf741befadc2cc6d946e793b7ad60a4472dd7..6651e85921a5f09880cdb7b9a6b2b011b9a0be68 100755 GIT binary patch delta 3258 zcmZWreNa@_6~Av`fq;CeWQ&L_E1+T%c0phXtZZA-d3B; zZ*YCt2Iscvq|tmBGx1{**HT);WR#YW38RO&Ddn~Pr9)s+uyl&LD({T z&b{aBcg{WcyvGav%oGinMz7BAdYCbVF=ojG!(Z3Khi|XW9jTYv7o?JnaEH>ETi77A zBS}(S$cLak-YB(O;=afEC(856b?z}0DEWNARBwu=@ClP`#X01uVr(!6j^~CL3t}~a zz6IJh%vcH5gBnWU=A$(y? zn&dROEBTeAb@O)vfPhzkXx%qF=1Bg2Ik#67nw*(@eMOmRaVFneQLLQhFIF^ogYy{k zKYGVEa3_|n6(c~^&3{LrsykJEQ&bI9--bt!8Jn?$zXu0>;Et;IMPN0INhnqSqt{j6 zz;(ngmhrF8iJy@17Ay!gk|@M?$^PWUO{)JNe53u8@;;B*ZFzSyM4lEbY9Ms=n^?^F zNd~WREV1-R)$Uj7rI%Ai$j}Qecri-0l3lfTMKAy#GmA0+12N=uF*p*$>#2D48`tIha z{(6!x7C*g%u|4gGp9YHWv7!E*G zb&2WMmfwdq$_Z5;7b^enQJJFglT}L!_ez`)1qNKdA+Nx=jzEA<@;g

z{?r_~gH_ zm@kU^&PJM939qG!xGxcofHhbyBvY%F6P{liloil&p21+OO5<&-%Dl&5o)8_h{6`$0 zJd6o|h3_W-4hwH09qmxv7c$F5ku$Utvtiu8-mmRPv@Wmi*8Zqe9t`xqkrqFUiN^S(qYHE;gtFc*i zX-lO-^pF7lgIVmUUgH8kTC-?#o)|S6i1qLTZ~!i|psFBFccyh_j6S7n7GtzbCfPhU zYKmvome%cu(ywhqGF@=d+qF22d>V>jMsK&!x%3b%vO^D>TVdjnXd5cdI zZs-Kw7pQIlRfp$A`u~(?)h+hkl)_f{!E{?nk4fnkBt!Wct(wy@+}jnhJVDqrF-~!6 z(M{OK$o9yzO}=WUZAZwqByQ6ncv-j-vlhP#L=TY16jb8k{!I@By(Eld*S3?Rt-p2sx z56w%1f_4X=GrxuUo2+?KP&jy*!G5ps1 zXGe$U=~nCV(w-IRwhcCGXSdb%Oy8bfxog`;yWUP~OM7Qeo3(d$o3*RE^Qmr6M>>D0 zu`rXq1Kns5(FlL9v5u#>ubS8(zM^8~WA5aK7G_#uY6eY$3V7~d^Nucj`3-}94tf>z zYtRRvzkogi-2{I>*3-+1o6(@Xo!zahEQv+7!zuD4 zw+wqsk?p*HxXc@Ipe`gR2W4Y(t3t}Pad|W@H^pUlrL?b^w#Val#AUl(+B@R%^fz^H zT#m%QvG+qpI$q?fD;|@3aZqg8y9x4pe2=ff`)PvKNRT55ax_7vbn*uS{!$X;tOR-C xT$x)A6no3(>Xink(~b2imw>Yv)1jElk73{{a@vEU*9o delta 3130 zcmZWreQZ=!7QgRJhnCVhfMH8pXrXkf6oi?!(^A_y)rIU^`5F`gew1OLeCYy(Qk6)Z zp~H(z-VVZEP25OG6C{42j1m-!Erz;)22JZ9S~kL(6*srhZ2E`7$O5y!bMLft#>t#> z@A>-ObI(2Zy%&$_vHkjizKO26jA@K9o&$!TYwp2+KQN)UPH7J*CF|vG%{#$gue9|x zrS|hZ&>r$C?W&~jA>OaOqDbhp`w&9W)uV zuY)ls#+V5QZnqU{Q@A^$&_1x2vFd}%?&hm(_m1DPEdJ9!n!F#M5*^3lzU4*yfNh@6 zD)|?-B@>?m00GYg(YUYUgge7q&Kon%^OiYN^{yQL(ws8=a1Q@y&UCGkUz$@NtiYZl z3$BLSuO=MkbOafeeFlOJYo1}Ph#OH)GdyBUTpGvN;2+^&wO=)?wjo%BcnCHlvS7dn zw+|qGii-ciF*?3p#s3}g2o)wqBm9}Gsdt4D`H{ao_ib$q_qs|ZZG{2r{Fn`Uw7c(i zA|Y;N^JiQ|dA};vrbHrPMB8Fr29^oYKL=>=?C1(*cMktp3YA#>vE_wXOf)H8>957tMT$Eo-@rl@C@0^SVg^X4H0Q-*_M zDb`Y$5z}=CS{##>lTsBqi_El4K3GvS^*88|pqI?ihHA<@deTB5ln?RJ%8I3Nm_+~0 zL?Rr=dE=Z%FZgJtjB8aW7a^U=pi;d}`iL1)8PL$fU=SZ>@}rey!BY5l$qMHEPi~() zL_LBA?<@cuHrPJ~jAqDgyIN&|T(f%(dP6i}9x-<#+LAmRN3l+!7Ag&0rO~3&ph2dg zi@W%uDyO3d;OHc2jyAOLP}L0muVeVps%iNxWQv%ZR3r`RbawMARZeX-&+wErlmcDc zx-oKofFegxhgeEvZ!z-jp}TI(I=P0Bq7C;U2Bj5tzR@!^uUtuI?I}f_&0q7BOv_ca z2yEyN3A|X%DPQp*zw9Ykxq=Q%Hbg&c0CuE89Y@iJE7LsEM#UphZy{AgU4q-FHrmCP zR6A>LLm4rbV=+r|S=+_fjk*m-U`B;j(Y~y18dQajXYgayrJA4jR~M87aAYdK%W%g^ zg{do@w(;DW{JLdwDIYMx-Neyo_fXj^d(H?zuiD@_JcUQ4x`793{*d_|Y~o!Tf1##u z{&R4U)lVWEK^;{JA%)PCif{`DG~8i9<*}V#uF2OH^6NDvo=4zq$)s>GI+0sf4%*B8 zxwwzk>3$Q>4`h2cWsCcx;u&8uZ%WXwgztb4Q?ru3Qqo#TLi-J+OQ|3(_9C(jz)S97 zo~(kbE^HpMeKKrQkKSQh5!pJEHWNaS4ZcSgfgTK^k(P~^2J**Y(Vz}%(eLzF<{O-b zuwR$`dIk<$w!A{^BR7>H!+dVq!P6;x-?5{|w(@G#cUa8j>XUE_!WzET36#V8)N%UorDrit@my8boY_ zoV*KSi<%#RRRs8hb(4a#3DB}XO*vZlFOD0v7t|BgGNp0PXWyenO}zpf@1caV2EGaB zpCw-?`C`eJN=~;X;e1r`6_T%%{4vR&ki1E9Kls9gGa!X^lCPJ1qvV?-nPDVC!6jIw6;FGZAUXJv$5D}IK})tvm>C# zR`aJi%7U>9WQr}7gB+N2x|Cd#lzmBgep03nMDl-l*q)4Eos@@?{?t^2H~jg!GbzVV zXo}wr!pI%r+6kxCoYeAnmTwNv4gM2zs7ACuq{;tHldq@AbPGnuXDVR?kFpzWpOh-| zyuH(dvr~1fB2BJMlf7y3pVH)|Y4XZ6*`F#;WKX3kSQ~$9Z>v_y^UZDGrWyNPi=6vE DpF-!H diff --git a/bin/KeyMaster b/bin/KeyMaster index 6c6bf741befadc2cc6d946e793b7ad60a4472dd7..6651e85921a5f09880cdb7b9a6b2b011b9a0be68 100755 GIT binary patch delta 3258 zcmZWreNa@_6~Av`fq;CeWQ&L_E1+T%c0phXtZZA-d3B; zZ*YCt2Iscvq|tmBGx1{**HT);WR#YW38RO&Ddn~Pr9)s+uyl&LD({T z&b{aBcg{WcyvGav%oGinMz7BAdYCbVF=ojG!(Z3Khi|XW9jTYv7o?JnaEH>ETi77A zBS}(S$cLak-YB(O;=afEC(856b?z}0DEWNARBwu=@ClP`#X01uVr(!6j^~CL3t}~a zz6IJh%vcH5gBnWU=A$(y? zn&dROEBTeAb@O)vfPhzkXx%qF=1Bg2Ik#67nw*(@eMOmRaVFneQLLQhFIF^ogYy{k zKYGVEa3_|n6(c~^&3{LrsykJEQ&bI9--bt!8Jn?$zXu0>;Et;IMPN0INhnqSqt{j6 zz;(ngmhrF8iJy@17Ay!gk|@M?$^PWUO{)JNe53u8@;;B*ZFzSyM4lEbY9Ms=n^?^F zNd~WREV1-R)$Uj7rI%Ai$j}Qecri-0l3lfTMKAy#GmA0+12N=uF*p*$>#2D48`tIha z{(6!x7C*g%u|4gGp9YHWv7!E*G zb&2WMmfwdq$_Z5;7b^enQJJFglT}L!_ez`)1qNKdA+Nx=jzEA<@;g

z{?r_~gH_ zm@kU^&PJM939qG!xGxcofHhbyBvY%F6P{liloil&p21+OO5<&-%Dl&5o)8_h{6`$0 zJd6o|h3_W-4hwH09qmxv7c$F5ku$Utvtiu8-mmRPv@Wmi*8Zqe9t`xqkrqFUiN^S(qYHE;gtFc*i zX-lO-^pF7lgIVmUUgH8kTC-?#o)|S6i1qLTZ~!i|psFBFccyh_j6S7n7GtzbCfPhU zYKmvome%cu(ywhqGF@=d+qF22d>V>jMsK&!x%3b%vO^D>TVdjnXd5cdI zZs-Kw7pQIlRfp$A`u~(?)h+hkl)_f{!E{?nk4fnkBt!Wct(wy@+}jnhJVDqrF-~!6 z(M{OK$o9yzO}=WUZAZwqByQ6ncv-j-vlhP#L=TY16jb8k{!I@By(Eld*S3?Rt-p2sx z56w%1f_4X=GrxuUo2+?KP&jy*!G5ps1 zXGe$U=~nCV(w-IRwhcCGXSdb%Oy8bfxog`;yWUP~OM7Qeo3(d$o3*RE^Qmr6M>>D0 zu`rXq1Kns5(FlL9v5u#>ubS8(zM^8~WA5aK7G_#uY6eY$3V7~d^Nucj`3-}94tf>z zYtRRvzkogi-2{I>*3-+1o6(@Xo!zahEQv+7!zuD4 zw+wqsk?p*HxXc@Ipe`gR2W4Y(t3t}Pad|W@H^pUlrL?b^w#Val#AUl(+B@R%^fz^H zT#m%QvG+qpI$q?fD;|@3aZqg8y9x4pe2=ff`)PvKNRT55ax_7vbn*uS{!$X;tOR-C xT$x)A6no3(>Xink(~b2imw>Yv)1jElk73{{a@vEU*9o delta 3130 zcmZWreQZ=!7QgRJhnCVhfMH8pXrXkf6oi?!(^A_y)rIU^`5F`gew1OLeCYy(Qk6)Z zp~H(z-VVZEP25OG6C{42j1m-!Erz;)22JZ9S~kL(6*srhZ2E`7$O5y!bMLft#>t#> z@A>-ObI(2Zy%&$_vHkjizKO26jA@K9o&$!TYwp2+KQN)UPH7J*CF|vG%{#$gue9|x zrS|hZ&>r$C?W&~jA>OaOqDbhp`w&9W)uV zuY)ls#+V5QZnqU{Q@A^$&_1x2vFd}%?&hm(_m1DPEdJ9!n!F#M5*^3lzU4*yfNh@6 zD)|?-B@>?m00GYg(YUYUgge7q&Kon%^OiYN^{yQL(ws8=a1Q@y&UCGkUz$@NtiYZl z3$BLSuO=MkbOafeeFlOJYo1}Ph#OH)GdyBUTpGvN;2+^&wO=)?wjo%BcnCHlvS7dn zw+|qGii-ciF*?3p#s3}g2o)wqBm9}Gsdt4D`H{ao_ib$q_qs|ZZG{2r{Fn`Uw7c(i zA|Y;N^JiQ|dA};vrbHrPMB8Fr29^oYKL=>=?C1(*cMktp3YA#>vE_wXOf)H8>957tMT$Eo-@rl@C@0^SVg^X4H0Q-*_M zDb`Y$5z}=CS{##>lTsBqi_El4K3GvS^*88|pqI?ihHA<@deTB5ln?RJ%8I3Nm_+~0 zL?Rr=dE=Z%FZgJtjB8aW7a^U=pi;d}`iL1)8PL$fU=SZ>@}rey!BY5l$qMHEPi~() zL_LBA?<@cuHrPJ~jAqDgyIN&|T(f%(dP6i}9x-<#+LAmRN3l+!7Ag&0rO~3&ph2dg zi@W%uDyO3d;OHc2jyAOLP}L0muVeVps%iNxWQv%ZR3r`RbawMARZeX-&+wErlmcDc zx-oKofFegxhgeEvZ!z-jp}TI(I=P0Bq7C;U2Bj5tzR@!^uUtuI?I}f_&0q7BOv_ca z2yEyN3A|X%DPQp*zw9Ykxq=Q%Hbg&c0CuE89Y@iJE7LsEM#UphZy{AgU4q-FHrmCP zR6A>LLm4rbV=+r|S=+_fjk*m-U`B;j(Y~y18dQajXYgayrJA4jR~M87aAYdK%W%g^ zg{do@w(;DW{JLdwDIYMx-Neyo_fXj^d(H?zuiD@_JcUQ4x`793{*d_|Y~o!Tf1##u z{&R4U)lVWEK^;{JA%)PCif{`DG~8i9<*}V#uF2OH^6NDvo=4zq$)s>GI+0sf4%*B8 zxwwzk>3$Q>4`h2cWsCcx;u&8uZ%WXwgztb4Q?ru3Qqo#TLi-J+OQ|3(_9C(jz)S97 zo~(kbE^HpMeKKrQkKSQh5!pJEHWNaS4ZcSgfgTK^k(P~^2J**Y(Vz}%(eLzF<{O-b zuwR$`dIk<$w!A{^BR7>H!+dVq!P6;x-?5{|w(@G#cUa8j>XUE_!WzET36#V8)N%UorDrit@my8boY_ zoV*KSi<%#RRRs8hb(4a#3DB}XO*vZlFOD0v7t|BgGNp0PXWyenO}zpf@1caV2EGaB zpCw-?`C`eJN=~;X;e1r`6_T%%{4vR&ki1E9Kls9gGa!X^lCPJ1qvV?-nPDVC!6jIw6;FGZAUXJv$5D}IK})tvm>C# zR`aJi%7U>9WQr}7gB+N2x|Cd#lzmBgep03nMDl-l*q)4Eos@@?{?t^2H~jg!GbzVV zXo}wr!pI%r+6kxCoYeAnmTwNv4gM2zs7ACuq{;tHldq@AbPGnuXDVR?kFpzWpOh-| zyuH(dvr~1fB2BJMlf7y3pVH)|Y4XZ6*`F#;WKX3kSQ~$9Z>v_y^UZDGrWyNPi=6vE DpF-!H diff --git a/src/main.c b/src/main.c index 746014f..7555223 100644 --- a/src/main.c +++ b/src/main.c @@ -199,8 +199,8 @@ int main(void) prompPassword(aux, "Please enter your new password: "); printf("\n"); char *aux2 = create(char); - aux2 = size(aux, 256); - prompPassword(aux, "Confirm new password: "); + aux2 = size(aux2, 256); + prompPassword(aux2, "Confirm new password: "); printf("\n"); if (strcmp(aux, aux2) != 0) @@ -226,12 +226,17 @@ int main(void) // send request with TYPE = 1 req.type = 1; - strncpy(req.key, aux, sizeof(req.key) - 1); + for (size_t i = 0; i < 256; i++) + { + req.key[i] = aux[i]; + } req.key[sizeof(req.key) - 1] = '\0'; // Ensure null-termination req.ID = 1; req.level = level; - send(sockfd, &req, sizeof(Request), 0); + send(sockfd, &req, sizeof(req), 0); + free(aux); + free(aux2); } else {