Fossil SCM

Fix a misuse of an unsigned integer in the <tt>blobReallocMalloc()</tt> which can lead to redundant memory reallocations.

george 2022-02-09 19:38 markdown-footnotes
Commit 92221aaa192e82e89263e109098bd9bcda9ecf1128ae6f79b742321eada8793a
1 file changed +1 -1
+1 -1
--- src/blob.c
+++ src/blob.c
@@ -164,11 +164,11 @@
164164
pBlob->aData = 0;
165165
pBlob->nAlloc = 0;
166166
pBlob->nUsed = 0;
167167
pBlob->iCursor = 0;
168168
pBlob->blobFlags = 0;
169
- }else if( newSize>pBlob->nAlloc || newSize<pBlob->nAlloc-4000 ){
169
+ }else if( newSize>pBlob->nAlloc || newSize+4000<pBlob->nAlloc ){
170170
char *pNew = fossil_realloc(pBlob->aData, newSize);
171171
pBlob->aData = pNew;
172172
pBlob->nAlloc = newSize;
173173
if( pBlob->nUsed>pBlob->nAlloc ){
174174
pBlob->nUsed = pBlob->nAlloc;
175175
--- src/blob.c
+++ src/blob.c
@@ -164,11 +164,11 @@
164 pBlob->aData = 0;
165 pBlob->nAlloc = 0;
166 pBlob->nUsed = 0;
167 pBlob->iCursor = 0;
168 pBlob->blobFlags = 0;
169 }else if( newSize>pBlob->nAlloc || newSize<pBlob->nAlloc-4000 ){
170 char *pNew = fossil_realloc(pBlob->aData, newSize);
171 pBlob->aData = pNew;
172 pBlob->nAlloc = newSize;
173 if( pBlob->nUsed>pBlob->nAlloc ){
174 pBlob->nUsed = pBlob->nAlloc;
175
--- src/blob.c
+++ src/blob.c
@@ -164,11 +164,11 @@
164 pBlob->aData = 0;
165 pBlob->nAlloc = 0;
166 pBlob->nUsed = 0;
167 pBlob->iCursor = 0;
168 pBlob->blobFlags = 0;
169 }else if( newSize>pBlob->nAlloc || newSize+4000<pBlob->nAlloc ){
170 char *pNew = fossil_realloc(pBlob->aData, newSize);
171 pBlob->aData = pNew;
172 pBlob->nAlloc = newSize;
173 if( pBlob->nUsed>pBlob->nAlloc ){
174 pBlob->nUsed = pBlob->nAlloc;
175

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button