summaryrefslogtreecommitdiff
path: root/indra/lscript/lscript_execute/lscript_execute.cpp
diff options
context:
space:
mode:
authorKyle Ambroff <ambroff@lindenlab.com>2008-08-29 09:20:43 +0000
committerKyle Ambroff <ambroff@lindenlab.com>2008-08-29 09:20:43 +0000
commit52108f7472740f3e3a2e7fecf2296ad280af1360 (patch)
treea7cdf3608d4c0721923d79754b2290be74728334 /indra/lscript/lscript_execute/lscript_execute.cpp
parent172cd4d5304abe6ccbd6b877bcaa56a32c8818c6 (diff)
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
Diffstat (limited to 'indra/lscript/lscript_execute/lscript_execute.cpp')
-rw-r--r--indra/lscript/lscript_execute/lscript_execute.cpp8
1 files changed, 5 insertions, 3 deletions
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;