Fossil SCM

Fix a bug in the <tt>blob_reserve()</tt> function that was introduced by [1243bf39996b8a]. The <i>current</i> mainline is not affected because this function is not used anywhere. However it was causing memory corruption on the 'markdown-footnotes' branch since it was employed in [544df852b2d9a1].

george 2022-02-09 19:29 markdown-footnotes
Commit 7283ae6e120c10e2327d000879786db5ec60d375c915a0f5d098b661f448c47e
1 file changed +2 -2
+2 -2
--- src/blob.c
+++ src/blob.c
@@ -595,12 +595,12 @@
595595
** builds.
596596
*/
597597
void blob_reserve(Blob *pBlob, unsigned int newSize){
598598
if(newSize>=0x7fff0000 ){
599599
blob_panic();
600
- }else if(newSize>pBlob->nUsed){
601
- pBlob->xRealloc(pBlob, newSize);
600
+ }else if(newSize>pBlob->nAlloc){
601
+ pBlob->xRealloc(pBlob, newSize+1);
602602
pBlob->aData[newSize] = 0;
603603
}
604604
}
605605
606606
/*
607607
--- src/blob.c
+++ src/blob.c
@@ -595,12 +595,12 @@
595 ** builds.
596 */
597 void blob_reserve(Blob *pBlob, unsigned int newSize){
598 if(newSize>=0x7fff0000 ){
599 blob_panic();
600 }else if(newSize>pBlob->nUsed){
601 pBlob->xRealloc(pBlob, newSize);
602 pBlob->aData[newSize] = 0;
603 }
604 }
605
606 /*
607
--- src/blob.c
+++ src/blob.c
@@ -595,12 +595,12 @@
595 ** builds.
596 */
597 void blob_reserve(Blob *pBlob, unsigned int newSize){
598 if(newSize>=0x7fff0000 ){
599 blob_panic();
600 }else if(newSize>pBlob->nAlloc){
601 pBlob->xRealloc(pBlob, newSize+1);
602 pBlob->aData[newSize] = 0;
603 }
604 }
605
606 /*
607

Keyboard Shortcuts

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