diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h
index b9aa71b4dc5376150cc8846eccf1085e1a624f8e..c57830e936b9c27c184a8401d91fb84e5b54b46f 100644
--- a/indra/llcommon/llversionserver.h
+++ b/indra/llcommon/llversionserver.h
@@ -35,7 +35,7 @@
 const S32 LL_VERSION_MAJOR = 1;
 const S32 LL_VERSION_MINOR = 19;
 const S32 LL_VERSION_PATCH = 1;
-const S32 LL_VERSION_BUILD = 80913;
+const S32 LL_VERSION_BUILD = 81484;
 
 const char * const LL_CHANNEL = "Second Life Server";
 
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index 7a84e1916fdb35d0d4f99295bc51d89f250cdb44..81001a2c9dbefff574b6ce2da313199bfbad9d76 100644
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -216,8 +216,8 @@ void LLParcel::init(const LLUUID &owner_id,
 	mMediaID.setNull();
 	mMediaAutoScale = 0;
 	mMediaLoop = TRUE;
-	mObscureMedia = 0;
-	mObscureMusic = 0;
+	mObscureMedia = 1;
+	mObscureMusic = 1;
 	mMediaWidth = 0;
 	mMediaHeight = 0;
 
@@ -1850,8 +1850,8 @@ void LLParcel::clearParcel()
     setMediaDesc(NULL);
 	setMediaAutoScale(0);
 	setMediaLoop(TRUE);
-	mObscureMedia = 0;
-	mObscureMusic = 0;
+	mObscureMedia = 1;
+	mObscureMusic = 1;
 	mMediaWidth = 0;
 	mMediaHeight = 0;
 	setMusicURL(NULL);
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp
index 8b9a45ff3f406543e95159c3c1c68d72a8683d94..8afcb6ba4f461bf77004fc2b487f71040fdaddc2 100644
--- a/indra/llmessage/llcurl.cpp
+++ b/indra/llmessage/llcurl.cpp
@@ -121,7 +121,6 @@ void LLCurl::Responder::error(U32 status, const std::string& reason)
 // virtual
 void LLCurl::Responder::result(const LLSD& content)
 {
-	llwarns << "Virtual Function not implemented" << llendl;
 }
 
 // virtual
diff --git a/indra/lscript/lscript_byteconvert.h b/indra/lscript/lscript_byteconvert.h
index d0a5d574d0de7e8ad3bb02e2a2d6f9cda55ba94e..e8b727b7376d3322fbf512ad9667aedce14c4d8a 100644
--- a/indra/lscript/lscript_byteconvert.h
+++ b/indra/lscript/lscript_byteconvert.h
@@ -166,8 +166,15 @@ inline void bytestream_int2float(U8 *stream, S32 &offset)
 inline bool bytestream2char(char *buffer, const U8 *stream, S32 &offset, S32 buffsize)
 {
 	S32 source_len = strlen( (const char *)stream+offset );
-	strncpy( buffer, (const char *)stream+offset, buffsize-1 );
-	buffer[buffsize-1] = 0;
+	S32 copy_len = buffsize - 1;
+	if( copy_len > source_len )
+	{
+		copy_len = source_len;
+	}
+
+	// strncpy without \0 padding overhead
+	memcpy( buffer, stream+offset, copy_len );
+	buffer[copy_len] = 0;
 
 	offset += source_len + 1; // advance past source string, include terminating '\0'
 
@@ -1073,28 +1080,20 @@ inline void safe_instruction_float2bytestream(U8 *stream, S32 &offset, F32 value
 
 inline void safe_instruction_bytestream2char(char *buffer, U8 *stream, S32 &offset, S32 buffsize)
 {
-	bool safe;
-	while (  (safe = safe_instruction_check_address(stream, offset, 1))
-		   && buffsize--
-		   &&(*buffer++ = *(stream + offset++)))
-		;
+	// This varies from the old method. Previously, we would copy up until we got an error,
+	// then halt the script via safe_isntruction_check_address. Now we don't bother
+	// copying a thing if there's an error.
 
-	// Return if it ended in a null (success) or if script error handling is taking over
-	if( !safe || (0 == *(buffer-1)) )
+	if( safe_instruction_check_address(stream, offset, strlen( (const char *)stream + offset ) + 1 ) )
 	{
-		return; // Yep. Success.
+		// Takes the same parms as this function. Won't overread, per above check.
+		bytestream2char( buffer, stream, offset, buffsize );
+	}
+	else
+	{
+		// Truncate - no point in copying
+		*buffer = 0;
 	}
-
-	// Defensive mode. We copied at least one char and ran out of space before
-	// null termination. Add the terminator...
-	*(buffer-1) = 0;
-
-	// ...and advance offset past the end of the data as if we copied the rest. If we
-	// violate the safety check, script error handling will protect us. No need to
-	// keep advancing.
-	while( safe_instruction_check_address(stream, offset, 1)
-			&& *( stream + offset++ ) )
-		;
 }
 
 inline void safe_instruction_bytestream_count_char(U8 *stream, S32 &offset)
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 946414674227dda83f0aed828b7bc1e81023ef8b..008eaccdc4aa38c144bcc4dbca246631c0ca7fd8 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -91,7 +91,7 @@ class LLTextureFetchWorker : public LLWorkerClass
 		LLUUID mID;
 	};
 
-	class HTTPGetResponder : public LLCurl::Responder
+	class HTTPGetResponder : public LLHTTPClient::Responder
 	{
 	public:
 		HTTPGetResponder(LLTextureFetch* fetcher, const LLUUID& id)