diff --git a/primitives/linux-port/dictionary.cpp b/primitives/linux-port/dictionary.cpp index 3e00634af..a41626dad 100644 --- a/primitives/linux-port/dictionary.cpp +++ b/primitives/linux-port/dictionary.cpp @@ -425,7 +425,7 @@ again: // is larger than the number of signatures in this block. Return a "special" string so that // the query keeps going, but that can be recognized as an internal error upon inspection. //@Bug 2534. Change the length check to 8000 - if (ret->len < 0 || ret->len > 8001) + if (ret->len < 0 || ret->len > 8176) { ret->data = reinterpret_cast(signatureNotFound); ret->len = strlen(reinterpret_cast(ret->data)); diff --git a/writeengine/dictionary/we_dctnry.cpp b/writeengine/dictionary/we_dctnry.cpp index 3b6b8ee20..da669f3bf 100644 --- a/writeengine/dictionary/we_dctnry.cpp +++ b/writeengine/dictionary/we_dctnry.cpp @@ -627,7 +627,7 @@ int Dctnry::insertDctnry2(Signature& sig) { int rc = 0; int write_size; - bool lbid_in_token; + bool lbid_in_token = false; sig.token.bc = 0; @@ -647,6 +647,7 @@ int Dctnry::insertDctnry2(Signature& sig) sig.size -= write_size; sig.signature += write_size; + m_curFbo = m_lastFbo; if (!lbid_in_token) { @@ -662,7 +663,7 @@ int Dctnry::insertDctnry2(Signature& sig) cb.file.pFile = m_dFile; sig.token.bc++; - RETURN_ON_ERROR( writeDBFile(cb, &m_curBlock, m_curLbid) ); + RETURN_ON_ERROR( writeDBFileNoVBCache(cb, &m_curBlock, m_curFbo) ); memset( m_curBlock.data, 0, sizeof(m_curBlock.data)); memcpy( m_curBlock.data, &m_dctnryHeader2, m_totalHdrBytes); m_freeSpace = BYTE_PER_BLOCK - m_totalHdrBytes;