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.