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].
Commit
7283ae6e120c10e2327d000879786db5ec60d375c915a0f5d098b661f448c47e
Parent
18c9d1036830498…
1 file changed
+2
-2
+2
-2
| --- src/blob.c | ||
| +++ src/blob.c | ||
| @@ -595,12 +595,12 @@ | ||
| 595 | 595 | ** builds. |
| 596 | 596 | */ |
| 597 | 597 | void blob_reserve(Blob *pBlob, unsigned int newSize){ |
| 598 | 598 | if(newSize>=0x7fff0000 ){ |
| 599 | 599 | 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); | |
| 602 | 602 | pBlob->aData[newSize] = 0; |
| 603 | 603 | } |
| 604 | 604 | } |
| 605 | 605 | |
| 606 | 606 | /* |
| 607 | 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->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 |