From 52108f7472740f3e3a2e7fecf2296ad280af1360 Mon Sep 17 00:00:00 2001
From: Kyle Ambroff <ambroff@lindenlab.com>
Date: Fri, 29 Aug 2008 09:20:43 +0000
Subject: [PATCH] svn merge -r94413:95195
 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-24-Server -> release

Merging various fixes from 1.24 Server.

From 1.23:
* DEV-18957: SCUT: Enable test.py to run tests agains a grid database

From 1.24, the UPCOMING production branch:
* DEV-18934 VWR-8519: 1.21 nightly:  World > Region/Estate > Debug > Get Top Scripts crashes viewer
* Sanity checking build settings before packaging binaries
* DEV-19810 Updated libmono on linux with support for signal chaining
* Remove gdb references to gPumpFile and gPumpLine in crash_reporter.py
* DEV-19397: Changed the signature for remote_data to for Mono scripts
* DEV-19396: Steal signal handlers back from Mono on error.
* DEV-19396: attach mono thread if necessary during writeState
* DEV-19396: Allow mono to handle managed SEGV signals during emergency save
* DEV-19396: Disable GC while writing the simstate during a crash
* DEV-19550: Make viewer crash reporter handle different binary debug file names
* Defensively protect against responders not being in list and give a warning rather than crash.
* Fix simulator crash in shutdown error handling that also causes error stacks to go unreported
* DEV-19752 QAR-834 Remove Community Standards window from startup. Set the "critical message" name on agni to NULL.
* Minor traceback fixes in backbone for multiagentchat
* Removed some mono debug spam
* DEV-19239: Group members receives an error upon opening group chat if join group chat was disabled then reenabled.
* DEV-19809 Harden llGetNextEmail to bad params
* DEV-17967 fixed null string and keys passing to lib funcs
* Several small fixes for farm deploy tools and automated build system
* Sync indra/agent/auth.py with interop-5 branch, and update status codes
---
 indra/lscript/lscript_execute/lscript_execute.cpp | 8 +++++---
 install.xml                                       | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp
index fe2167aec83..6f1c2158d5c 100644
--- a/indra/lscript/lscript_execute/lscript_execute.cpp
+++ b/indra/lscript/lscript_execute/lscript_execute.cpp
@@ -4047,7 +4047,8 @@ void lscript_pop_variable(LLScriptLibData *data, U8 *buffer, char type)
 		break;
 	case 'k':
 		data->mType = LST_KEY;
-
+		data->mKey = NULL;
+		
 		base_address = lscript_pop_int(buffer);
 	// this bit of nastiness is to get around that code paths to local variables can result in lack of initialization
 	// and function clean up of ref counts isn't based on scope (a mistake, I know)
@@ -4066,7 +4067,7 @@ void lscript_pop_variable(LLScriptLibData *data, U8 *buffer, char type)
 			}
 			lsa_decrease_ref_count(buffer, base_address);
 		}
-		else
+		if (data->mKey == NULL)
 		{
 			data->mKey = new char[1];
 			data->mKey[0] = 0;
@@ -4074,6 +4075,7 @@ void lscript_pop_variable(LLScriptLibData *data, U8 *buffer, char type)
 		break;
 	case 's':
 		data->mType = LST_STRING;
+		data->mString = NULL;
 
 		base_address = lscript_pop_int(buffer);
 	// this bit of nastiness is to get around that code paths to local variables can result in lack of initialization
@@ -4093,7 +4095,7 @@ void lscript_pop_variable(LLScriptLibData *data, U8 *buffer, char type)
 			}
 			lsa_decrease_ref_count(buffer, base_address);
 		}
-		else
+		if (data->mString == NULL)
 		{
 			data->mString = new char[1];
 			data->mString[0] = 0;
diff --git a/install.xml b/install.xml
index 50f65c70573..f36aced73d6 100644
--- a/install.xml
+++ b/install.xml
@@ -601,9 +601,9 @@ anguage Infrstructure (CLI) international standard</string>
           <key>linux</key>
           <map>
             <key>md5sum</key>
-            <string>df73b95b0980e631ba1ecd930120699f</string>
+            <string>9bc0f8b7d5e0ff194b6d5635daf9ae3a</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-linux-20080722.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-1.2.6-linux-20080816a.tar.bz2</uri>
           </map>
           <key>windows</key>
           <map>
-- 
GitLab