Bugs are those little nasty things that crawl around your application reaking havoc. Actually, a bug is the term given to flaws or errors in software that cause problems. Knowing what I know about programmers, it doesn't surprise me that one of us chose to blame our mistakes on something like an innocent, little bug.
Well, I found and fixed a little bug in Cook'n this week. This elusive thing has been causing problems for a small group of people for quite some time. Until now, I thought it had something to do with their computer system. However, we were able to reproduce it here and track it down.
The problem was easy to identify. When people with this problem try to start Cook'n, they get an error message that says "Cook'n has performed an illegal operation and will be shut down." Since we couldn't reproduce it till this week, we couldn't figure out what was causing it.
As it turns out, there was a memory problem that was causing the software to crash. About seven years ago, when I wrote the function that was causing problems, I allocated 50 characters of memory space to a variable that was designed to hold the path to the current working directory.
Back then when the default installation directory was "C:\Cook'n\cook'n99.exe" 50 characters was fine. However, over time the default installation folder changed to consist of paths like "C:\Program Files\DVO\Cook'n with Betty Crocker--Healthy & Hearty\cook'n99.exe" which is almost 80 characters long. As you can see, 50 characters of memory space is not enough.
The extra characters were over-writing some other information in memory. In some cases, this information was not very important. However, in other cases it was and this was causing serious problems.
The good news is that I fixed it and posted the update on the Internet so you can download it for free. If there are any of you who cannot download the latest version of Cook'n using the built in update feature, click here and follow the steps on this page to download it manually.
I hope this wasn't too boring for you. I thought that it might be interesting for some of you to learn more about how bugs in software happen. And, I wanted to let you know about this one so you would be sure to download the latest version.
Have a great day!
-Dan @ DVO