From 7ae03a1c2737e464c01b8ac447591309b8b47d82 Mon Sep 17 00:00:00 2001 From: Gene Stark Date: Tue, 8 Mar 2022 15:59:13 -0500 Subject: [PATCH] Remove the -DWEAK_MAGIC preprocessor conditional and add function sf_set_magic() to set the magic number for debugging. --- hw3/include/sfmm.h | 22 +++++++++++++--------- hw3/lib/sfutil.o | Bin 10864 -> 11048 bytes 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/hw3/include/sfmm.h b/hw3/include/sfmm.h index f62950b..8429eb0 100644 --- a/hw3/include/sfmm.h +++ b/hw3/include/sfmm.h @@ -311,19 +311,23 @@ void *sf_mem_grow(); /* * @return The "magic number" used to obfuscate header and footer contents * to make it difficult to free a block without having first succesfully - * malloc'ed one. To obtain the ability to turn off obfuscation using the - * -DWEAK_MAGIC compilation flag, you should not call this function directly - * but rather use the preprocessor symbol MAGIC where the magic number is - * required. + * malloc'ed one. */ sf_header sf_magic(); -/* Define WEAK_MAGIC during compilation to use MAGIC of 0x0 for debugging purposes. */ -#ifndef WEAK_MAGIC #define MAGIC (sf_magic()) -#else -#define MAGIC ((sf_header)0x0) -#endif + +/* + * Set the "magic number" used to obfuscate header and footer contents. + * Setting the magic number to zero essentially turns off obfuscation, which will + * to make your life easier during debugging. This function will be replaced + * by a dummy version during grading, so be sure to test your code without calling + * this function. + * + * @param magic The value to set the magic number to. Setting to 0x0 disables + * obfuscation. + */ +void sf_set_magic(sf_header magic); /* * Display the contents of the heap in a human-readable form. diff --git a/hw3/lib/sfutil.o b/hw3/lib/sfutil.o index 440e5daffb59ce7568f0660006372e983acb5d15..7eca98cfd76001b2f96fc74523736005981b2d9b 100644 GIT binary patch literal 11048 zcmds-eQ;b=6~OOi(>4vENtKUKYI%HwevqaKtxnSxCQI_t7fG9#G=L2u&BwM0Y?5X7 zZD|Xw)g|Z}f@P2aWEi_l3N{HbhC(YdLtX})OL{2ZN{>!x)X_O?PNM2_Qh)FYygZFx(oV*lO7EN! zyNU3|EbXcjciwA!dJr@9y21D!;Y*XCv(W_0Xvw;970j;Ko{$} zwrngtiiYjk)}S27@mW-{2ITyPICCN!%*;DxW-{}dl{rYW+B0sYpT{H~u}%#NEvNFN z5T@%6XL*R)AC7b=p}2QkhxcOs3vpF zX*bPm*+@Ixx$_K5mJfu%c)<3f$S`p5tDu*Sd``FWd7~nguV`&CpzIW-k$C`5lZhoA+{Sd zLIX|5{rVce)*Zp&{pi~%Qx+y6oLY3y$_>2&C+BHgNqr605<6q`q&x}ToZc%HW;RP1 zWx$e0dg_x0de#3LsO&LypB__z8s$_Yvz+Ib!o%hiU@?A?_juwqVe2MsPQjQ>&E7Tg z-}QCor{9-6dsSfh{U1ON&VsG};N(fZblFA)TgUVRk#=%+NV*$aXoOb%*!V7(SYvEr zjp3m%-4N_RaL8Tc=4yEVIesCJUnfnS(%kVQ1id&BSs9jW9t<9W=2-sMZiHt#hno;C z9tgORd7BtM+fGCj1sJYwn#KIS|W4@*FN3%fUP^{kMuvc7OVud}67bvO+BDjBZ_)O0@NM z_VtM7cp|!WRZ+ay=#6f(q0%CX%1Yy_4AInRRvA~-UM;E{OjB0SCn(KDOIIdanv*+L z8AU5o#YQ~VNwu~ZRLT%htp)XSXD?Z@q`IzdgV|tI)tQaP`nnCqy2yq~%dpHy70^Yc z+lpe_j0>+YWMwhvt9JE~FW1&Zs*FfgRfE~sXe=s6)M;rWVS}%Pz zT8z^bJOgEEu5YNTty|k=JCQqwcwMnkZ6<=~?cn5jdXg1UtjWru_yy_~i29hh9*4M1B z*-!(?+6V&*8L!WEQeZ{f;zrVLOV}`KFae^yIF3+BcJGKnEtUekwUw2tj73fDsa`u} zl$We1DP3BYl6PghE-x)9U9s4qkWu*6BMRVyN7UN&O#*%p3?U1{2Mew^ETJ6@BDAd_ zbbj8foIS8W=L5qJmdEkSoKtW|R^^#9v-W|8BU^(U%BA?F79*Nr5DZ%p$5uFNPZORt~~2SX#nMuB#%v#cewIGj2Vib+yK6kUuA5 zzqlR@;184i)ifvNng;enfc`T99Dnf3cxejB^#|-_;-96dBG(f zQ%LbMAbzxefVf;=pgWKFALyi%YYMnXZf=bx61{y`k;hUi9$rbj#iLB#wRT0@I+LQO zEf(wR5Pk7zuSft99kIS-RM_1;QGvSHrl)O7cL!FIQQN!eiT1Q^N%Y+!HJ~mJD0Krz z6joDqcMLs<+9GLpf=^;|Jki~2ZU+t6V=Wjh_A$aU3K_F{37 zt0bdKVmnXEW3n6X7GjTMPMw1DCl5YT@W_e<*B=&~7Wh%~%YZr-oiB5+%hmb$g#eE0 z4~w#cePgM2E|TLerTp1Q9R0xGDT*hED?7M{W7+Opq~CL(uJi{P&u9F5jN|%I`i~IT z?LVt=<^K_ltGvBL9Pj7CN7;Wv(^qyTHLl{COZ$NGN9kXtait&8xYEB?<7&Lx19)8H z%FZ`5ehK+~cL2X%#Ias(ybGz+VmE?*{NW=mZpui`zGdV>7H? z3?D3uHD2ssQOY=v*J2#2Ye>I=xSr20#<@Rt2k<8t#~<}7Kfh(1+j%E|&qha}=y|v} zfUgeV8w22KU+^hU7W1P?PYT~*->lo+x*~sj0 ze`1XD{M;45p9tW?#C3mu#W?!2hVt_}W{3OpI@9O*d7J6;{N&S573`Pq!%G-HgXMDt zOn$Z7iZA}hU)hj z^8Y;I7(ef~nDNhnOpVuaW{1aB!SwlhX=D1_&luy}&ThsrKQEA<{mef1^M1w`Fh9S` z>~Q;!GJWpnubDpg^KVR_pBFRf_aNqt?_={A=lZJ|=i^w%IJeVETp!0IYnH`>=$Cy6P&rccW=fXI%!}In&;~0b5uV&&RhoZ+dk8zA^oZ`BGxIRBi z80UFj!#MY|f!XKrb~29rW}{MtM^m28b3-0LrmjK=(+0K8ZV^hhG#YY5%FUh zSMRN+G_KxT%|{2JC_mMEt2G)|@2xgzT)npvCCTkQc3V4K?SymfQnf@h)>dM}U%W&~ zXPez7O4^f2QIhC$ZaVsUdZN7`>+Q3nCGfY5rSKLC-X}TtTY6I^@dUiuO4!?>4O)tJ z!E2>9c(?Uw6a$Q4YAAiK$qK5?R2vK3QyN`8+zW9CD_r7K_Tl1%GJ-E@px`vewsfq@ z-%iLcC60RoFV$MVN~ZT;3<9*Nx3{Q0%6U=!D^>;-v`NFNuyEUJ0=<1XwJ&vBIu#pV zT0vRjT-^e3En(WN Ue3$3fzH}j45yEyZ?zi6lKR<7lxBvhE delta 3242 zcmZ{me@IBM>9Jcsjn zpZEJb&wJkc-gD}~`RzyIp82ZrnwWr$2#8rYDtg7Ekn|Km)DsYG*`!D2c?=_aZ~on$ z;)c5Vb;-t_T|G~9_aq1Is;{eGpD1gtLk!1OjzOm{Bu1gs7lr41ak%6Qc@_=$(N`nl z;Ppqv7D)K3#gmXiKMZ|H&cO)!Z{fT@3g`UcWo3q8gy2tqg=oo^25yPweF(^Q;T1H5 z(J$1aQElCfy_%nJ@Mj^tN{SbuD=5Xw~ah2(fpd`QSX2GKbjxXJfigr@Q!&s#%bs(d<^CaFW!NX*|DOt zLKMK1l%fKTqpwrGMUm|wLQ?EhzEkloTywguX1o~|u%0%EnbLf~W$wd}GNl+){te|Pl>d%=@&;3;N-FRo`^~{? zEo>~RjD-*=mS%(|pgF5u5963|CwX&##S~$zy#lYPn2(kJO8J}0=fYI66jkKS1`P?bHdr5P;@iqU5#q;bJEe=;o0+}ye=6>xm_Zs6= zgT1G3GM!@N_9_)D!v{1PF2u{`wHDv>zolu=6KKgOK^QNxHYUWI+y>)eDY}&(CZB$b zDe$(ljFWPX-ol@_C|_amTxSMinB{Lai*JjdJ_MYv++>{hRi!yC5bvuArb?ygP=0`X z<}g#>^^7o1$}PIDF&E`CES~Fp$l^;-$9`4cTikk8{I`3X39Vog41L}?mmn7=BGN3> zqt1q_VId;LCO8_A>D?|0Pcu%f+UNRy7tMn#p11lc3`V6m0psZ3g%tWPC~tC}#q&;= z80R`(2$V^4wLZt49VOtNGAXvfPpH2Gx-fFLOXO1&lRltF?X3^`MIK_a_-|{7ag(k8 z1k>SNd`?-~XW1yN;d!0q7pBIu{J}W=80~Gbr25K-g_tzg>EoX&=NX$IRW6fT*(hba ztTU!Gr*-2QJ0TsD;&GZQdPzU?3RB?v?=uB{x=b@3WHrw*&f|0QFbIt*;VW5Uad@FT zkX)-{oV&V}aq4bHcefeFvHlJiESKgU7Q^>X9|S67@_9W<+4)iO0h`6Uz6{54)-)UC znsba(J=b+T*Qp-!FP4k1z;Y0kG83VnF`Bc-dd5jJhXT+xYVO?m_c6}1JmSLpEDpa{ z1~U6~jI)NrY%V{Zh8T}xP4@mg=A!d9i|0D;S$u=q1Q8~5!9{423qjACe$fvLYouv^ zRL-IX88t%hU=m_gGGl*8*6P<{kG@W8h_=R3#}L? P@u|1Udg@lH;duVPMcqr-