diff options
author | Kyle Ambroff <ambroff@lindenlab.com> | 2008-08-29 09:20:43 +0000 |
---|---|---|
committer | Kyle Ambroff <ambroff@lindenlab.com> | 2008-08-29 09:20:43 +0000 |
commit | 52108f7472740f3e3a2e7fecf2296ad280af1360 (patch) | |
tree | a7cdf3608d4c0721923d79754b2290be74728334 /indra/lscript/lscript_execute/lscript_execute.cpp | |
parent | 172cd4d5304abe6ccbd6b877bcaa56a32c8818c6 (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.cpp | 8 |
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; |