Don't take address of arrays

This commit is contained in:
Ivan Skytte Jørgensen
2017-01-10 01:01:52 +01:00
parent 534466a2db
commit 613a54c4cc
25 changed files with 99 additions and 66 deletions

@ -1077,13 +1077,13 @@ CollectionRec::CollectionRec() {
m_collnum = -1;
m_coll[0] = '\0';
m_updateRoundNum = 0;
memset(&m_bases, 0, sizeof(m_bases));
memset(m_bases, 0, sizeof(m_bases));
// how many keys in the tree of each rdb? we now store this stuff
// here and not in RdbTree.cpp because we no longer have a maximum
// # of collection recs... MAX_COLLS. each is a 32-bit "int32_t" so
// it is 4 * RDB_END...
memset(&m_numNegKeysInTree, 0, sizeof(m_numNegKeysInTree));
memset(&m_numPosKeysInTree, 0, sizeof(m_numPosKeysInTree));
memset(m_numNegKeysInTree, 0, sizeof(m_numNegKeysInTree));
memset(m_numPosKeysInTree, 0, sizeof(m_numPosKeysInTree));
m_spiderColl = NULL;
m_overflow = 0x12345678;
m_overflow2 = 0x12345678;

@ -50,14 +50,14 @@ Conf::Conf ( ) {
memset(m_defaultColl, 0, sizeof(m_defaultColl));
memset(m_clusterName, 0, sizeof(m_clusterName));
m_numDns = 0;
memset(&m_dnsIps, 0, sizeof(m_dnsIps));
memset(&m_dnsPorts, 0, sizeof(m_dnsPorts));
memset(m_dnsIps, 0, sizeof(m_dnsIps));
memset(m_dnsPorts, 0, sizeof(m_dnsPorts));
m_dnsMaxCacheMem = 0;
m_useProxyIps = false;
m_automaticallyUseProxyIps = false;
m_askRootNameservers = false;
m_numRns = 0;
memset(&m_rnsIps, 0, sizeof(m_rnsIps));
memset(m_rnsIps, 0, sizeof(m_rnsIps));
m_mergeBufSize = 0;
m_posdbFileCacheSize = 0;
m_posdbMaxTreeMem = 0;

@ -79,7 +79,7 @@ Hostdb::Hostdb ( ) {
memset(m_httpRootDir, 0, sizeof(m_httpRootDir));
memset(m_logFilename, 0, sizeof(m_logFilename));
memset(m_netName, 0, sizeof(m_netName));
memset(&m_map, 0, sizeof(m_map));
memset(m_map, 0, sizeof(m_map));
}

@ -119,7 +119,7 @@ void HttpRequest::reset() {
m_fileOffset = 0;
m_fileSize = 0;
memset(m_fields, 0, sizeof(m_fields));
memset(&m_fieldLens, 0, sizeof(m_fieldLens));
memset(m_fieldLens, 0, sizeof(m_fieldLens));
memset(m_fieldValues, 0, sizeof(m_fieldValues));
m_isSSL = false;
memset(m_redir, 0, sizeof(m_redir));

@ -52,9 +52,9 @@ void Images::reset() {
m_collnum = 0;
m_docId = 0;
m_latestIp = 0;
memset(&m_imageNodes, 0, sizeof(m_imageNodes));
memset(&m_termIds, 0, sizeof(m_termIds));
memset(&m_errors, 0, sizeof(m_errors));
memset(m_imageNodes, 0, sizeof(m_imageNodes));
memset(m_termIds, 0, sizeof(m_termIds));
memset(m_errors, 0, sizeof(m_errors));
m_pageUrl = NULL;
m_xml = NULL;
memset(&m_msg13Request, 0, sizeof(m_msg13Request));

@ -29,10 +29,10 @@ Matches::Matches()
m_qwordAllocSize(0),
m_numMatchGroups(0)
{
memset(&m_matches, 0, sizeof(m_matches)); //@todo: added to silence Coverity. Remove if impacting performance (quite big memset)
memset(&m_qtableIds, 0, sizeof(m_qtableIds)); // PVS-Studio
memset(&m_qtableWordNums, 0, sizeof(m_qtableWordNums)); // PVS-Studio
memset(&m_qtableFlags, 0, sizeof(m_qtableFlags)); // PVS-Studio
memset(m_matches, 0, sizeof(m_matches)); //@todo: added to silence Coverity. Remove if impacting performance (quite big memset)
memset(m_qtableIds, 0, sizeof(m_qtableIds)); // PVS-Studio
memset(m_qtableWordNums, 0, sizeof(m_qtableWordNums)); // PVS-Studio
memset(m_qtableFlags, 0, sizeof(m_qtableFlags)); // PVS-Studio
memset(m_tmpBuf, 0, sizeof(m_tmpBuf)); // PVS-Studio
}

@ -344,8 +344,8 @@ bool Msg2::getLists ( ) {
if ( ! msg5->getList ( RDB_POSDB,
m_collnum ,
&m_whiteLists[m_w], // listPtr
&sk3,
&ek3,
sk3,
ek3,
minRecSizes,
true, // include tree?
0, // maxcacheage

@ -60,7 +60,7 @@ void Msg3a::constructor ( ) {
m_clusterRecs = NULL;
m_clusterLevels = NULL;
m_cursor = 0;
memset(&m_replyMaxSize, 0, sizeof(m_replyMaxSize));
memset(m_replyMaxSize, 0, sizeof(m_replyMaxSize));
}
Msg3a::~Msg3a ( ) {

@ -30,8 +30,8 @@ Msge0::Msge0()
m_callback(NULL),
m_errno(0)
{
memset(&m_ns, 0, sizeof(m_ns));
memset(&m_used, 0, sizeof(m_used));
memset(m_ns, 0, sizeof(m_ns));
memset(m_used, 0, sizeof(m_used));
reset();
}

@ -26,8 +26,8 @@ Msge1::Msge1() {
m_state = NULL;
m_callback = NULL;
m_nowGlobal = 0;
memset(&m_ns, 0, sizeof(m_ns));
memset(&m_used, 0, sizeof(m_used));
memset(m_ns, 0, sizeof(m_ns));
memset(m_used, 0, sizeof(m_used));
reset();
}

@ -847,7 +847,7 @@ Parms::Parms ( ) {
// Coverity
m_numParms = 0;
memset(&m_searchParms, 0, sizeof(m_searchParms));
memset(m_searchParms, 0, sizeof(m_searchParms));
m_numSearchParms = 0;
}

@ -48,10 +48,10 @@ Profiler::Profiler() :
m_totalFrames = 0;
m_lastQpoll = NULL;
m_lastQpollLine = 0;
memset(&m_quickPollInfos, 0, sizeof(m_quickPollInfos));
memset(m_quickPollInfos, 0, sizeof(m_quickPollInfos));
m_lastQPUsed = 0;
m_lastAddressMapIndex = 0;
memset(&m_fnTime, 0, sizeof(m_fnTime));
memset(m_fnTime, 0, sizeof(m_fnTime));
}
Profiler::~Profiler() {//reset();

@ -46,7 +46,7 @@ void Query::constructor ( ) {
m_maxQueryTerms = 0;
m_queryExpansion = false;
memset(&m_expressions, 0, sizeof(m_expressions));
memset(m_expressions, 0, sizeof(m_expressions));
memset(m_gbuf, 0, sizeof(m_gbuf));
memset(m_tmpBuf3, 0, sizeof(m_tmpBuf3));
memset(m_otmpBuf, 0, sizeof(m_otmpBuf));

@ -29,7 +29,7 @@ RdbCache::RdbCache() : m_dbname(NULL) {
m_maxMem = 0;
m_numPtrsMax = 0;
memset(m_bufs, 0, sizeof(m_bufs));
memset(&m_bufSizes, 0, sizeof(m_bufSizes));
memset(m_bufSizes, 0, sizeof(m_bufSizes));
reset();
m_needsSave = false;
m_convertNumPtrsMax = 0;
@ -68,7 +68,7 @@ void RdbCache::reset ( ) {
m_numBufs = 0;
m_totalBufSize= 0;
memset(m_bufs, 0, sizeof(m_bufs));
memset(&m_bufSizes, 0, sizeof(m_bufSizes));
memset(m_bufSizes, 0, sizeof(m_bufSizes));
if ( m_ptrs ) {
mfree ( m_ptrs , m_numPtrsMax*sizeof(char *),"RdbCache");

@ -128,7 +128,7 @@ const char *Rebalance::getNeedsRebalance ( ) {
);
// convert m_nextKey into an ascii string and store into keyStr
hexToBin(keyStr,strlen(keyStr), (char *)&m_nextKey);
hexToBin(keyStr,strlen(keyStr), (char *)m_nextKey);
m_collnum = cn;
//m_collnum = 4695; //debug skip
@ -299,7 +299,7 @@ bool Rebalance::saveRebalanceFile ( ) {
char keyStr[128];
// convert m_nextKey
binToHex ( (unsigned char *)&m_nextKey , MAX_KEY_BYTES , keyStr );
binToHex ( (unsigned char *)m_nextKey , MAX_KEY_BYTES , keyStr );
//log("db: saving rebalance.txt");
StackBuf<3000> sb;

@ -126,8 +126,8 @@ Repair::Repair() {
m_saveRepairState = false;
m_isRetrying = false;
memset(&m_collOffs, 0, sizeof(m_collOffs));
memset(&m_collLens, 0, sizeof(m_collLens));
memset(m_collOffs, 0, sizeof(m_collOffs));
memset(m_collLens, 0, sizeof(m_collLens));
}

@ -76,7 +76,7 @@ SpiderColl::SpiderColl () {
m_tailUh48 = 0;
m_tailHopCount = 0;
m_minFutureTimeMS = 0;
memset(&m_priorityToUfn, 0, sizeof(m_priorityToUfn));
memset(m_priorityToUfn, 0, sizeof(m_priorityToUfn));
m_gettingList2 = false;
m_lastScanTime = 0;
m_waitingTreeNeedsRebuild = false;
@ -101,11 +101,11 @@ SpiderColl::SpiderColl () {
m_pri2 = 0;
m_lastUrlFiltersUpdate = 0;
m_gettingList1 = false;
memset(&m_outstandingSpiders, 0, sizeof(m_outstandingSpiders));
memset(m_outstandingSpiders, 0, sizeof(m_outstandingSpiders));
m_overflowList = NULL;
m_totalNewSpiderRequests = 0;
m_lastSreqUh48 = 0;
memset(&m_cblocks, 0, sizeof(m_cblocks));
memset(m_cblocks, 0, sizeof(m_cblocks));
m_pageNumInlinks = 0;
m_lastCBlockIp = 0;
m_lastOverflowFirstIp = 0;

@ -39,7 +39,7 @@ Stats::Stats ( ) {
m_closedSockets = 0;
m_msg3aRecallCnt = 0;
memset(&m_msg3aRecalls, 0, sizeof(m_msg3aRecalls));
memset(m_msg3aRecalls, 0, sizeof(m_msg3aRecalls));
clearMsgStats();
@ -48,7 +48,7 @@ Stats::Stats ( ) {
m_msg3aSlowRecalls = 0;
m_msg3aFastRecalls = 0;
m_tier2Misses = 0;
memset(&m_filterStats, 0, sizeof(m_filterStats));
memset(m_filterStats, 0, sizeof(m_filterStats));
};
@ -59,25 +59,25 @@ void Stats::clearMsgStats() {
// Version understandable by Coverity
// char m_start;
memset(&m_msgTotalOfSendTimes, 0, sizeof(m_msgTotalOfSendTimes));
memset(&m_msgTotalSent, 0, sizeof(m_msgTotalSent));
memset(&m_msgTotalSentByTime, 0, sizeof(m_msgTotalSentByTime));
memset(&m_msgTotalOfQueuedTimes, 0, sizeof(m_msgTotalOfQueuedTimes));
memset(&m_msgTotalQueued, 0, sizeof(m_msgTotalQueued));
memset(&m_msgTotalQueuedByTime, 0, sizeof(m_msgTotalQueuedByTime));
memset(&m_msgTotalOfHandlerTimes, 0, sizeof(m_msgTotalOfHandlerTimes));
memset(&m_msgTotalHandlersCalled, 0, sizeof(m_msgTotalHandlersCalled));
memset(&m_msgTotalHandlersByTime, 0, sizeof(m_msgTotalHandlersByTime));
memset(&m_packetsIn, 0, sizeof(m_packetsIn));
memset(&m_packetsOut, 0, sizeof(m_packetsOut));
memset(&m_acksIn, 0, sizeof(m_acksIn));
memset(&m_acksOut, 0, sizeof(m_acksOut));
memset(&m_reroutes, 0, sizeof(m_reroutes));
memset(&m_errors, 0, sizeof(m_errors));
memset(&m_timeouts, 0, sizeof(m_timeouts));
memset(&m_nomem, 0, sizeof(m_nomem));
memset(&m_dropped, 0, sizeof(m_dropped));
memset(&m_cancelRead, 0, sizeof(m_cancelRead));
memset(m_msgTotalOfSendTimes, 0, sizeof(m_msgTotalOfSendTimes));
memset(m_msgTotalSent, 0, sizeof(m_msgTotalSent));
memset(m_msgTotalSentByTime, 0, sizeof(m_msgTotalSentByTime));
memset(m_msgTotalOfQueuedTimes, 0, sizeof(m_msgTotalOfQueuedTimes));
memset(m_msgTotalQueued, 0, sizeof(m_msgTotalQueued));
memset(m_msgTotalQueuedByTime, 0, sizeof(m_msgTotalQueuedByTime));
memset(m_msgTotalOfHandlerTimes, 0, sizeof(m_msgTotalOfHandlerTimes));
memset(m_msgTotalHandlersCalled, 0, sizeof(m_msgTotalHandlersCalled));
memset(m_msgTotalHandlersByTime, 0, sizeof(m_msgTotalHandlersByTime));
memset(m_packetsIn, 0, sizeof(m_packetsIn));
memset(m_packetsOut, 0, sizeof(m_packetsOut));
memset(m_acksIn, 0, sizeof(m_acksIn));
memset(m_acksOut, 0, sizeof(m_acksOut));
memset(m_reroutes, 0, sizeof(m_reroutes));
memset(m_errors, 0, sizeof(m_errors));
memset(m_timeouts, 0, sizeof(m_timeouts));
memset(m_nomem, 0, sizeof(m_nomem));
memset(m_dropped, 0, sizeof(m_dropped));
memset(m_cancelRead, 0, sizeof(m_cancelRead));
m_parsingInconsistencies = 0;
m_totalOverflows = 0;
m_compressedBytesIn = 0;

@ -27,7 +27,7 @@ Summary::Summary()
// PVS-Studio
m_summary[0] = '\0';
memset(&m_summaryExcerptLen, 0, sizeof(m_summaryExcerptLen));
memset(m_summaryExcerptLen, 0, sizeof(m_summaryExcerptLen));
m_tmpWordWeightsBuf[0] = '\0';
m_tmpBuf4[0] = '\0';
}

@ -394,7 +394,7 @@ bool Tag::isType ( const char *t ) {
TagRec::TagRec() {
m_numListPtrs = 0;
memset(&m_listPtrs, 0, sizeof(m_listPtrs));
memset(m_listPtrs, 0, sizeof(m_listPtrs));
}
void TagRec::constructor ( ) {

@ -65,11 +65,11 @@ TcpServer::TcpServer() {
// Coverity
m_requestHandler = NULL;
memset(&m_tcpSockets, 0, sizeof(m_tcpSockets));
memset(m_tcpSockets, 0, sizeof(m_tcpSockets));
m_lastFilled = 0;
m_numUsed = 0;
m_numIncomingUsed = 0;
memset(&m_actualSockets, 0, sizeof(m_actualSockets));
memset(m_actualSockets, 0, sizeof(m_actualSockets));
m_dummy = 0;
m_maxSocketsPtr = NULL;
m_doReadRateTimeouts = false;

@ -40,8 +40,8 @@ TopTree::TopTree() {
m_docsWanted = 0;
m_ridiculousMax = 0;
m_kickedOutDocIds = false;
memset(&m_domCount, 0, sizeof(m_domCount));
memset(&m_domMinNode, 0, sizeof(m_domMinNode));
memset(m_domCount, 0, sizeof(m_domCount));
memset(m_domMinNode, 0, sizeof(m_domMinNode));
// sampleVectors = NULL;
reset();

@ -68,7 +68,7 @@ UdpServer::UdpServer ( ) {
// Coverity
m_nextTransId = 0;
memset(&m_handlers, 0, sizeof(m_handlers));
memset(m_handlers, 0, sizeof(m_handlers));
m_needToSend = false;
m_port = 0;
m_proto = NULL;

@ -11989,7 +11989,7 @@ void XmlDoc::printMetaList ( char *p , char *pend , SafeBuf *sb ) {
char k[MAX_KEY_BYTES];
if ( ks > MAX_KEY_BYTES ) { g_process.shutdownAbort(true); }
gbmemcpy ( &k , p , ks );
gbmemcpy ( k , p , ks );
// is it a negative key?
bool neg = false;
if ( ! ( p[0] & 0x01 ) ) neg = true;
@ -13484,8 +13484,8 @@ char *XmlDoc::getMetaList(bool forDelete) {
// add posdb doc key
*m_p++ = m_useSecondaryRdbs ? RDB2_POSDB2 : RDB_POSDB;
Posdb::makeKey(&key, POSDB_DELETEDOC_TERMID, docId, 0, 0, 0, 0, 0, 0, 0, 0, 0, delKey, false);
memcpy(m_p, &key, sizeof(posdbkey_t));
Posdb::makeKey(key, POSDB_DELETEDOC_TERMID, docId, 0, 0, 0, 0, 0, 0, 0, 0, 0, delKey, false);
memcpy(m_p, key, sizeof(posdbkey_t));
m_p += sizeof(posdbkey_t);
}
}

33
r.cpp Normal file

@ -0,0 +1,33 @@
class RdbList {
public:
RdbList () ;
~RdbList () ;
bool skipCurrentRec ( );
bool isExhausted () const { return (m_listPtr >= m_listEnd); }
void getCurrentKey (void *key) const { getKey(m_listPtr,(char *)key);}
void getKey ( const char *rec , char *key ) const;
char *m_listEnd;
char *m_listPtr;
};
bool Rebalance_gotList (RdbList &m_list ) {
char m_nextKey[28];
int x=0;
for ( ; ! m_list.isExhausted() ; m_list.skipCurrentRec() ) {
m_list.getCurrentKey ( m_nextKey );
if ( m_nextKey[0] ) x++;
}
return x == 0 ;
}