From 52108f7472740f3e3a2e7fecf2296ad280af1360 Mon Sep 17 00:00:00 2001 From: Kyle Ambroff Date: Fri, 29 Aug 2008 09:20:43 +0000 Subject: 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 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'indra/lscript') diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index fe2167aec8..6f1c2158d5 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; -- cgit v1.2.3