Page 1 of 1

Patches for bug fixes

Posted: Tue Feb 20, 2007 10:58 pm
by HelloWorld
Hello all,

I have found and fix a few bugs and was wondering what is the procedure for submitting patches?

HelloWorld

Posted: Wed Feb 21, 2007 9:44 am
by QuestOfDreams
You may just post it in the bug report or programming forum or send me an email.

Posted: Tue Feb 27, 2007 12:39 am
by HelloWorld
Hello QuestOfDreams,

Sorry for the delay in replying.

A few potential GPF fixes and some comments that someone with more knowledge of the system can answer.

Here are the patches.

HelloWorld
ps. the patches are for 75C

Code: Select all

diff -Naur previous/CCommonData.cpp new/CCommonData.cpp
--- previous/CCommonData.cpp	2007-02-05 15:12:18.000000000 +1100
+++ new/CCommonData.cpp	2007-02-20 21:43:32.562500000 +1100
@@ -327,6 +327,11 @@
 	
 	CmdLine = CommandLine;
 
+// initialise the szTitle as if it not set in 'RealityFactory.ini' then we are in a self-
+// destruct mode! ie. uninitialised variables with strcpy are not healthy JRW
+	strcpy(szTitle, "name me please!");
+	strcpy(m_PlayerName, "AWOL");	// this one as well
+
 // begin change gekido
 	CCD->ConsoleInit(30); // setup our console so we can use it for debugging output
 // end change gekido
diff -Naur previous/CMenu.cpp new/CMenu.cpp
--- previous/CMenu.cpp	2007-02-05 13:45:16.000000000 +1100
+++ new/CMenu.cpp	2007-02-20 02:56:50.906250000 +1100
@@ -4018,7 +4018,9 @@
 		geEngine_BeginFrame(CCD->Engine()->Engine(), M_Camera, GE_TRUE);
 // changed RF063
 // changed QD 12/15/05
-		if(Backgrounds[Background_Number] && Background_Number >= 0 && Background_Number < NUM_BACKGROUNDS)
+//		if(Backgrounds[Background_Number] && Background_Number >= 0 && Background_Number < NUM_BACKGROUNDS)
+// array range check should be done befoe accessing the array elements JRW
+		if((Background_Number >= 0 && Background_Number < NUM_BACKGROUNDS) && Backgrounds[Background_Number])
 			DrawBitmap(Backgrounds[Background_Number], NULL, bx, by);
 // end change
 		
diff -Naur previous/RabidFrameworkMain.cpp new/RabidFrameworkMain.cpp
--- previous/RabidFrameworkMain.cpp	2006-08-17 17:56:40.000000000 +1000
+++ new/RabidFrameworkMain.cpp	2007-02-26 23:21:12.968750000 +1100
@@ -44,6 +44,7 @@
 // end change gekido
 
 // changed RF064
+// this doesn't make any sense as we are already in the current directory! JRW
 	char m_currentdir[512];
 	_getcwd(m_currentdir, 512);
 	chdir(m_currentdir);
@@ -81,10 +82,9 @@
 	fd = fopen("D3D24.ini","r");
 
 	if(!fd)
-	{
 		vidsetup = true;
-	}
-	
+	else
+		fclose(fd);	// how about we close the file(!) resourses are scarce under windows (maybe not anymore?) JRW
 
 	ShowCursor(FALSE);						// Turn off the mouse cursor
 
@@ -156,6 +156,7 @@
 		args[1] = NULL;
 
 		_spawnv(_P_WAIT, "videosetup.exe", args);
+	// what happens when this fail? ie. videosetup is not in the current directory(!) JRW
 	}