[Scummvm-cvs-logs] SF.net SVN: scummvm:[39343] scummvm/trunk/engines/sci/engine

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Mar 11 23:50:06 CET 2009


Revision: 39343
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39343&view=rev
Author:   thebluegr
Date:     2009-03-11 22:50:06 +0000 (Wed, 11 Mar 2009)

Log Message:
-----------
Fix heap corruption when assigning the save game directory

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/game.cpp
    scummvm/trunk/engines/sci/engine/seg_manager.cpp

Modified: scummvm/trunk/engines/sci/engine/game.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/game.cpp	2009-03-11 21:56:54 UTC (rev 39342)
+++ scummvm/trunk/engines/sci/engine/game.cpp	2009-03-11 22:50:06 UTC (rev 39343)
@@ -525,8 +525,8 @@
 	SystemString *str = &s->sys_strings->strings[SYS_STRING_SAVEDIR];
 	
 	strncpy((char *)str->value, path, str->max_size);
-	str->value[str->max_size].segment = s->string_frag_segment; // Make sure to terminate
-	str->value[str->max_size].offset &= 0xff00; // Make sure to terminate
+	str->value[str->max_size - 1].segment = s->string_frag_segment; // Make sure to terminate
+	str->value[str->max_size - 1].offset &= 0xff00; // Make sure to terminate
 }
 
 void internal_stringfrag_strncpy(EngineState *s, reg_t *dest, reg_t *src, int len);

Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-03-11 21:56:54 UTC (rev 39342)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-03-11 22:50:06 UTC (rev 39343)
@@ -264,7 +264,6 @@
 				free(str->name);
 				str->name = NULL;
 
-				// FIXME: this corrupts the heap for some reason
 				free(str->value);
 				str->value = NULL;
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list