by Spike » Thu Jul 10, 2014 11:42 pm
which key/field/global is it saving?
strings are often dodgy. especially in 64bit builds. negative values are not unheard of. which is vile.
remember that the engine typically uses val->string = "somestring"-pr_strings; to set the string. the string value can point to ANY bit of memory (within a 32bit memory space), which can have been freed or whatever since it was allocated.
or the mod you're running somehow messed up some argument or something and stored a float in a string field, which is a common way to crash an engine...
making an engine 64-bit safe is fun, and typically fixes all these other issues in the process, if done properly.
sprintf won't crash on that line due to an overflow, the crash would be on one of the following lines instead. snprintf would be a good idea though. or strlcpy.
.