PDA

View Full Version : what the hell is a buffer overrun?



DemonWithin
01-27-2009, 05:32 AM
hey guys thanks for lookin at my thread to try help :P

Last night all was well and i was enjoying my multiboxing as normal but then once i logged off for the night...
the nightmare begins, i come home from work all excited to get back to my druidz, open keyclone as normal (it opens, it displays message of the day too) but as soon as i hit connect to start getting my 3 wow windows open it says:
A buffer overrun has been detected which has corrupted this program's internal state. Program must be terminated. <--- didnt have any issues last night but suddenly today im having this and cant get it running again
I'd like to try reinstalling keyclone but im worried about losing my licence seeings i cant remember how i got it in the first place lol (whether it was email or came on the download or what ever)

ANY HELP APPRECIATED! TY :D

EDIT:
Ive loaded wow now to play a single character but it started up the cinematic and made me accept ToS and the resolutions all wrong O.o so it seems to have 'forgotten' ive been thru this already XD

Freddie
01-27-2009, 06:16 AM
What's a buffer overrun? Well, a buffer is a piece of RAM. A chunk of memory. Programs store data in them.

Sometimes, due to bugs, programs put data not only in a buffer where it belongs, but in other RAM that's next to the buffer. This screws up whatever information was in that other RAM.

The message you saw is displayed by error-checking code in the Visual C++ library which is produced by Microsoft. Microsoft is a big company so it's not appropriate for them to tell you "the program's info in RAM got screwed up." Instead they have to sound professional and tell you that the program's internal state got corrupted. It means the same thing.

Kaynin
01-27-2009, 06:23 AM
Stampeding chipmunks broke your ram.. D:

Tynk
01-27-2009, 09:43 AM
It means there was poor input checking or buffer allocation on a segment of code.

Applications will quite frequently Designate chunks of memory as "reserved" for their use. Memory is such a commodity and changes so fast that allocations end up back to back,
Take a look at our memory blocks here. The blank parts belong to our code that asks for a 5 digit number. the x'ed out sections are being used by other applications.

|x|x|x|_|_|_|_|_|x|x|x|

Now say we take in a number, it would look like this

|x|x|x|1|4|6|7|9|x|x|x|

This is no problem and what we like to see, but if someone instead tries to enter a 7 digit number and our application does not check for the size correctly, this will happen.

|x|x|x|1|4|6|7|9|2|2|x|

The 2's in red just over wrote memory from another application. Now, if that other application actually needs that information, it is lost and most likely will kick up a "Buffer Over Run" error like what you saw.

Since ram is a volatile memory storage (requires power to keep information), generally your best step is just to power down the system and leave it turned off for 15-30 seconds. This will allow all of your memory to go blank and start over.

Now, to complete this (please do not get paranoid I am just giving information) many vulnerabilities in software rely on just this issue. They test and test and find just the right amount of data to push to just the right process and they can force small chunks of code into the system that allows them to do malicious acts. Most likely this is not what you are coming across, as if it were you would likely not be getting the error.

The moral of the story... don't be a bad coder, sanitize your input streams.

keyclone
01-27-2009, 11:09 AM
hmmm... did you try running wow normally, without keyclone? do you still get the message?

if you want to nuke your settings, you can remove the keyclone folder and re-install or just remove the keyclone.ini file from the keyclone folder. neither one will have any impact on your license.

let me know if that helps.

DemonWithin
01-28-2009, 06:06 AM
cool thanks for all the responses! uninstallying it worked tyvm ^_^