summaryrefslogtreecommitdiff
path: root/indra/llmessage
diff options
context:
space:
mode:
authorAdam Moss <moss@lindenlab.com>2009-04-16 23:45:35 +0000
committerAdam Moss <moss@lindenlab.com>2009-04-16 23:45:35 +0000
commitb01c75cb423f07a3d3354f8bd62f265f80062b3b (patch)
treedec1b220c24a60cc220d1cb07fd3545610644f0a /indra/llmessage
parent868250bdd74f348557102c0d8408d9bec30331f6 (diff)
svn merge -r117314:117337
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/mv13a-merge-1 QAR-1343 maint-viewer-13a+libcurlexploitfix-3-3 combo merge
Diffstat (limited to 'indra/llmessage')
-rw-r--r--indra/llmessage/llcachename.cpp1
-rw-r--r--indra/llmessage/llcircuit.cpp10
-rw-r--r--indra/llmessage/llcurl.cpp2
-rw-r--r--indra/llmessage/lldatapacker.cpp7
-rw-r--r--indra/llmessage/llhttpclient.cpp7
-rw-r--r--indra/llmessage/llinstantmessage.h1
-rw-r--r--indra/llmessage/lltemplatemessagereader.cpp6
7 files changed, 22 insertions, 12 deletions
diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp
index 1e6584a085..799bc83e20 100644
--- a/indra/llmessage/llcachename.cpp
+++ b/indra/llmessage/llcachename.cpp
@@ -426,6 +426,7 @@ bool LLCacheName::importFile(std::istream& istr)
entry->mFirstName = agent[FIRST].asString();
entry->mLastName = agent[LAST].asString();
impl.mCache[id] = entry;
+
++count;
}
llinfos << "LLCacheName loaded " << count << " agent names" << llendl;
diff --git a/indra/llmessage/llcircuit.cpp b/indra/llmessage/llcircuit.cpp
index 725425cc20..7c60886ed3 100644
--- a/indra/llmessage/llcircuit.cpp
+++ b/indra/llmessage/llcircuit.cpp
@@ -77,6 +77,8 @@ LLCircuitData::LLCircuitData(const LLHost &host, TPACKETID in_id,
mPacketsOutID(0),
mPacketsInID(in_id),
mHighestPacketID(in_id),
+ mTimeoutCallback(NULL),
+ mTimeoutUserData(NULL),
mTrusted(FALSE),
mbAllowTimeout(TRUE),
mbAlive(TRUE),
@@ -102,11 +104,12 @@ LLCircuitData::LLCircuitData(const LLHost &host, TPACKETID in_id,
mBytesOutLastPeriod(0),
mBytesInThisPeriod(0),
mBytesOutThisPeriod(0),
- mPeakBPSIn(0),
- mPeakBPSOut(0),
+ mPeakBPSIn(0.f),
+ mPeakBPSOut(0.f),
mPeriodTime(0.0),
mExistenceTimer(),
mCurrentResendCount(0),
+ mLastPacketGap(0),
mHeartbeatInterval(circuit_heartbeat_interval),
mHeartbeatTimeout(circuit_timeout)
{
@@ -121,9 +124,6 @@ LLCircuitData::LLCircuitData(const LLHost &host, TPACKETID in_id,
mNextPingSendTime = mLastPingSendTime + 0.95*mHeartbeatInterval + ll_frand(0.1f*mHeartbeatInterval);
mPeriodTime = mt_sec;
- mTimeoutCallback = NULL;
- mTimeoutUserData = NULL;
-
mLocalEndPointID.generate();
}
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp
index a4eb90d7ff..1a432cd7df 100644
--- a/indra/llmessage/llcurl.cpp
+++ b/indra/llmessage/llcurl.cpp
@@ -74,7 +74,7 @@
//////////////////////////////////////////////////////////////////////////////
-static const S32 EASY_HANDLE_POOL_SIZE = 5;
+static const U32 EASY_HANDLE_POOL_SIZE = 5;
static const S32 MULTI_PERFORM_CALL_REPEAT = 5;
static const S32 CURL_REQUEST_TIMEOUT = 30; // seconds
static const S32 MAX_ACTIVE_REQUEST_COUNT = 100;
diff --git a/indra/llmessage/lldatapacker.cpp b/indra/llmessage/lldatapacker.cpp
index 1cdb475b2f..1f52bf3a23 100644
--- a/indra/llmessage/lldatapacker.cpp
+++ b/indra/llmessage/lldatapacker.cpp
@@ -1896,7 +1896,12 @@ BOOL LLDataPackerAsciiFile::getValueStr(const char *name, char *out_value, S32 v
if (mFP)
{
fpos_t last_pos;
- fgetpos(mFP, &last_pos);
+ if (0 != fgetpos(mFP, &last_pos)) // 0==success for fgetpos
+ {
+ llwarns << "Data packer failed to fgetpos" << llendl;
+ return FALSE;
+ }
+
if (fgets(buffer, DP_BUFSIZE, mFP) == NULL)
{
buffer[0] = '\0';
diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp
index a6041b4139..307d9b92fa 100644
--- a/indra/llmessage/llhttpclient.cpp
+++ b/indra/llmessage/llhttpclient.cpp
@@ -161,10 +161,9 @@ namespace
fstream.seekg(0, std::ios::end);
U32 fileSize = fstream.tellg();
fstream.seekg(0, std::ios::beg);
- char* fileBuffer;
- fileBuffer = new char [fileSize];
- fstream.read(fileBuffer, fileSize);
- ostream.write(fileBuffer, fileSize);
+ std::vector<char> fileBuffer(fileSize);
+ fstream.read(&fileBuffer[0], fileSize);
+ ostream.write(&fileBuffer[0], fileSize);
fstream.close();
eos = true;
return STATUS_DONE;
diff --git a/indra/llmessage/llinstantmessage.h b/indra/llmessage/llinstantmessage.h
index 96a2cf9cab..9ce6a10c80 100644
--- a/indra/llmessage/llinstantmessage.h
+++ b/indra/llmessage/llinstantmessage.h
@@ -74,6 +74,7 @@ enum EInstantMessage
// Group vote
// Name is name of person who called vote.
// ID is vote ID used for internal tracking
+ // TODO: _DEPRECATED suffix as part of vote removal - DEV-24856
IM_GROUP_VOTE = 7,
// Group message
diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp
index d635844ee5..40e46b0ce9 100644
--- a/indra/llmessage/lltemplatemessagereader.cpp
+++ b/indra/llmessage/lltemplatemessagereader.cpp
@@ -677,7 +677,11 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender
// default to 0s.
U32 size = mvci.getSize();
std::vector<U8> data(size);
- memset(&(data[0]), 0, size);
+ if(size)
+ {
+ // Nonsense test to get past GCC 4.3.1 bug with -O3
+ memset(&(data[0]), 0, size);
+ }
cur_data_block->addData(mvci.getName(), &(data[0]),
size, mvci.getType());
}