‫Hello and welcome, everybody.
‫There's a small bug with the bass points, reviews of processes.
‫So essentially I just want us to go to blank and blank dot C and ignore that test program.
‫I made that to find the bug.
‫Great.
‫So you guys won't have that.
‫And here I just want you to go for instar equals zero.
‫I below a million.
‫I plus plus and we're just going to go here and we're going to make clean Bill LSH.
‫And I want to show you what happens.
‫OK, we're going to run that.
‫You'll see ABC testing, ABC testing, and then you'll see no processes to switch to.
‫So this is a nasty bug.
‫What is happening?
‫Essentially, our follow up is using the base pointer and the base point of value is corrupted.
‫Now, where does the base point of value get corrupted?
‫Well, if we go to task and test out, see?
‫And here we'll see test, switch, test for term.
‫The bug is in tax returns are good to test it, I assume.
‫And you will see.
‫Tax return, buy here now everything, and he is correct, except when we call the general-purpose registers.
‫So in the general purpose registers, what do we do?
‫We restore all of the registers back to the ones that were in the register structure that we passed
‫this assembly function.
‫That's perfect, correct?
‫Right.
‫We go through them all.
‫We restore EDIR, CBP, FedEx, X, and so on.
‫But look what we do here on line 62.
‫We pop the base pointer that we saved because here we push the base pointer.
‫Here we popped off the base pointer, overwriting the restored base pointer value.
‫And that is what leads to that nasty bug where accessing the stack is done incorrectly.
‫So how do we fix this?
‫Wow.
‫We get rid of the pop MBP and we change it to add E.S.P fall, which will basically restore the stack
‫pointer back to where it should be, whether it's home addresses.
‫But it will not pop into the base pointer.
‫OK.
‫And once you've done that, if we now go back to the terminal and we make may clean bill that I think
‫we should see that bug is now resolved.
‫And there we go, everything works as expected.
‫Now, that boat took a long time to find it really was a needle in a haystack.
‫You saw how how easy that mistake was.
‫Right.
‫But, you know, Colonel, development is all about solving problems and and building systems.
‫And, you know, even Microsoft are releasing bug fixes every few months.
‫Nobody's immune from this.
‫So I appreciate your patience with some of these bug fixes.
‫But I will always fix any bug that is found in my work.
‫And I appreciate your patience.
‫And yes, so very easy bug to fix was a very hard bug to find.
‫OK, take care of everyone.