From 30d5d834379c421a4146cb23d640b770e79892d6 Mon Sep 17 00:00:00 2001
From: Aaron Brashears <aaronb@lindenlab.com>
Date: Thu, 5 Mar 2009 19:22:07 +0000
Subject: [PATCH] bail if data_size is zero. crashes windows application since
 it throws an exception. undefined behavior is undefined. DEV-28045

---
 indra/llmessage/llsdmessagereader.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/indra/llmessage/llsdmessagereader.cpp b/indra/llmessage/llsdmessagereader.cpp
index c47d4b78bca..e699ec9e28b 100755
--- a/indra/llmessage/llsdmessagereader.cpp
+++ b/indra/llmessage/llsdmessagereader.cpp
@@ -108,6 +108,12 @@ void LLSDMessageReader::getBinaryData(const char *block, const char *var,
 		data_size = max_size;
 	}
 	
+	// Calls to memcpy will fail if data_size is not positive.
+	// Phoenix 2009-02-27
+	if(data_size <= 0)
+	{
+		return;
+	}
 	memcpy(datap, &(data[0]), data_size);
 }
 
-- 
GitLab