Fossil SCM

merge from trunk

wolfgang 2010-10-16 17:33 wolfgangHelpCmd merge
Commit 586b0eb1449d03bcddd32c75652d4e7e011d3ab4
+1 -1
--- src/bag.c
+++ src/bag.c
@@ -86,11 +86,11 @@
8686
int nDel = 0; /* Number of deleted entries */
8787
int nLive = 0; /* Number of live entries */
8888
8989
old = *p;
9090
assert( newSize>old.cnt );
91
- p->a = malloc( sizeof(p->a[0])*newSize );
91
+ p->a = fossil_malloc( sizeof(p->a[0])*newSize );
9292
p->sz = newSize;
9393
memset(p->a, 0, sizeof(p->a[0])*newSize );
9494
for(i=0; i<old.sz; i++){
9595
int e = old.a[i];
9696
if( e>0 ){
9797
--- src/bag.c
+++ src/bag.c
@@ -86,11 +86,11 @@
86 int nDel = 0; /* Number of deleted entries */
87 int nLive = 0; /* Number of live entries */
88
89 old = *p;
90 assert( newSize>old.cnt );
91 p->a = malloc( sizeof(p->a[0])*newSize );
92 p->sz = newSize;
93 memset(p->a, 0, sizeof(p->a[0])*newSize );
94 for(i=0; i<old.sz; i++){
95 int e = old.a[i];
96 if( e>0 ){
97
--- src/bag.c
+++ src/bag.c
@@ -86,11 +86,11 @@
86 int nDel = 0; /* Number of deleted entries */
87 int nLive = 0; /* Number of live entries */
88
89 old = *p;
90 assert( newSize>old.cnt );
91 p->a = fossil_malloc( sizeof(p->a[0])*newSize );
92 p->sz = newSize;
93 memset(p->a, 0, sizeof(p->a[0])*newSize );
94 for(i=0; i<old.sz; i++){
95 int e = old.a[i];
96 if( e>0 ){
97
+2 -4
--- src/blob.c
+++ src/blob.c
@@ -136,12 +136,11 @@
136136
pBlob->aData = 0;
137137
pBlob->nAlloc = 0;
138138
pBlob->nUsed = 0;
139139
pBlob->iCursor = 0;
140140
}else if( newSize>pBlob->nAlloc || newSize<pBlob->nAlloc-4000 ){
141
- char *pNew = realloc(pBlob->aData, newSize);
142
- if( pNew==0 ) blob_panic();
141
+ char *pNew = fossil_realloc(pBlob->aData, newSize);
143142
pBlob->aData = pNew;
144143
pBlob->nAlloc = newSize;
145144
if( pBlob->nUsed>pBlob->nAlloc ){
146145
pBlob->nUsed = pBlob->nAlloc;
147146
}
@@ -162,12 +161,11 @@
162161
*/
163162
static void blobReallocStatic(Blob *pBlob, unsigned int newSize){
164163
if( newSize==0 ){
165164
*pBlob = empty_blob;
166165
}else{
167
- char *pNew = malloc( newSize );
168
- if( pNew==0 ) blob_panic();
166
+ char *pNew = fossil_malloc( newSize );
169167
if( pBlob->nUsed>newSize ) pBlob->nUsed = newSize;
170168
memcpy(pNew, pBlob->aData, pBlob->nUsed);
171169
pBlob->aData = pNew;
172170
pBlob->xRealloc = blobReallocMalloc;
173171
pBlob->nAlloc = newSize;
174172
--- src/blob.c
+++ src/blob.c
@@ -136,12 +136,11 @@
136 pBlob->aData = 0;
137 pBlob->nAlloc = 0;
138 pBlob->nUsed = 0;
139 pBlob->iCursor = 0;
140 }else if( newSize>pBlob->nAlloc || newSize<pBlob->nAlloc-4000 ){
141 char *pNew = realloc(pBlob->aData, newSize);
142 if( pNew==0 ) blob_panic();
143 pBlob->aData = pNew;
144 pBlob->nAlloc = newSize;
145 if( pBlob->nUsed>pBlob->nAlloc ){
146 pBlob->nUsed = pBlob->nAlloc;
147 }
@@ -162,12 +161,11 @@
162 */
163 static void blobReallocStatic(Blob *pBlob, unsigned int newSize){
164 if( newSize==0 ){
165 *pBlob = empty_blob;
166 }else{
167 char *pNew = malloc( newSize );
168 if( pNew==0 ) blob_panic();
169 if( pBlob->nUsed>newSize ) pBlob->nUsed = newSize;
170 memcpy(pNew, pBlob->aData, pBlob->nUsed);
171 pBlob->aData = pNew;
172 pBlob->xRealloc = blobReallocMalloc;
173 pBlob->nAlloc = newSize;
174
--- src/blob.c
+++ src/blob.c
@@ -136,12 +136,11 @@
136 pBlob->aData = 0;
137 pBlob->nAlloc = 0;
138 pBlob->nUsed = 0;
139 pBlob->iCursor = 0;
140 }else if( newSize>pBlob->nAlloc || newSize<pBlob->nAlloc-4000 ){
141 char *pNew = fossil_realloc(pBlob->aData, newSize);
 
142 pBlob->aData = pNew;
143 pBlob->nAlloc = newSize;
144 if( pBlob->nUsed>pBlob->nAlloc ){
145 pBlob->nUsed = pBlob->nAlloc;
146 }
@@ -162,12 +161,11 @@
161 */
162 static void blobReallocStatic(Blob *pBlob, unsigned int newSize){
163 if( newSize==0 ){
164 *pBlob = empty_blob;
165 }else{
166 char *pNew = fossil_malloc( newSize );
 
167 if( pBlob->nUsed>newSize ) pBlob->nUsed = newSize;
168 memcpy(pNew, pBlob->aData, pBlob->nUsed);
169 pBlob->aData = pNew;
170 pBlob->xRealloc = blobReallocMalloc;
171 pBlob->nAlloc = newSize;
172
+3 -3
--- src/captcha.c
+++ src/captcha.c
@@ -69,11 +69,11 @@
6969
** Render an 8-character hexadecimal string as ascii art.
7070
** Space to hold the result is obtained from malloc() and should be freed
7171
** by the caller.
7272
*/
7373
char *captcha_render(const char *zPw){
74
- char *z = malloc( 500 );
74
+ char *z = fossil_malloc( 500 );
7575
int i, j, k, m;
7676
7777
k = 0;
7878
for(i=0; i<6; i++){
7979
for(j=0; j<8; j++){
@@ -202,11 +202,11 @@
202202
** Render an 8-digit hexadecimal string as ascii arg.
203203
** Space to hold the result is obtained from malloc() and should be freed
204204
** by the caller.
205205
*/
206206
char *captcha_render(const char *zPw){
207
- char *z = malloc( 300 );
207
+ char *z = fossil_malloc( 300 );
208208
int i, j, k, m;
209209
const char *zChar;
210210
211211
k = 0;
212212
for(i=0; i<4; i++){
@@ -359,11 +359,11 @@
359359
** Render an 8-digit hexadecimal string as ascii arg.
360360
** Space to hold the result is obtained from malloc() and should be freed
361361
** by the caller.
362362
*/
363363
char *captcha_render(const char *zPw){
364
- char *z = malloc( 600 );
364
+ char *z = fossil_malloc( 600 );
365365
int i, j, k, m;
366366
const char *zChar;
367367
368368
k = 0;
369369
for(i=0; i<6; i++){
370370
--- src/captcha.c
+++ src/captcha.c
@@ -69,11 +69,11 @@
69 ** Render an 8-character hexadecimal string as ascii art.
70 ** Space to hold the result is obtained from malloc() and should be freed
71 ** by the caller.
72 */
73 char *captcha_render(const char *zPw){
74 char *z = malloc( 500 );
75 int i, j, k, m;
76
77 k = 0;
78 for(i=0; i<6; i++){
79 for(j=0; j<8; j++){
@@ -202,11 +202,11 @@
202 ** Render an 8-digit hexadecimal string as ascii arg.
203 ** Space to hold the result is obtained from malloc() and should be freed
204 ** by the caller.
205 */
206 char *captcha_render(const char *zPw){
207 char *z = malloc( 300 );
208 int i, j, k, m;
209 const char *zChar;
210
211 k = 0;
212 for(i=0; i<4; i++){
@@ -359,11 +359,11 @@
359 ** Render an 8-digit hexadecimal string as ascii arg.
360 ** Space to hold the result is obtained from malloc() and should be freed
361 ** by the caller.
362 */
363 char *captcha_render(const char *zPw){
364 char *z = malloc( 600 );
365 int i, j, k, m;
366 const char *zChar;
367
368 k = 0;
369 for(i=0; i<6; i++){
370
--- src/captcha.c
+++ src/captcha.c
@@ -69,11 +69,11 @@
69 ** Render an 8-character hexadecimal string as ascii art.
70 ** Space to hold the result is obtained from malloc() and should be freed
71 ** by the caller.
72 */
73 char *captcha_render(const char *zPw){
74 char *z = fossil_malloc( 500 );
75 int i, j, k, m;
76
77 k = 0;
78 for(i=0; i<6; i++){
79 for(j=0; j<8; j++){
@@ -202,11 +202,11 @@
202 ** Render an 8-digit hexadecimal string as ascii arg.
203 ** Space to hold the result is obtained from malloc() and should be freed
204 ** by the caller.
205 */
206 char *captcha_render(const char *zPw){
207 char *z = fossil_malloc( 300 );
208 int i, j, k, m;
209 const char *zChar;
210
211 k = 0;
212 for(i=0; i<4; i++){
@@ -359,11 +359,11 @@
359 ** Render an 8-digit hexadecimal string as ascii arg.
360 ** Space to hold the result is obtained from malloc() and should be freed
361 ** by the caller.
362 */
363 char *captcha_render(const char *zPw){
364 char *z = fossil_malloc( 600 );
365 int i, j, k, m;
366 const char *zChar;
367
368 k = 0;
369 for(i=0; i<6; i++){
370
+2 -4
--- src/cgi.c
+++ src/cgi.c
@@ -387,12 +387,11 @@
387387
** deallocated after this routine returns.
388388
*/
389389
void cgi_set_parameter_nocopy(const char *zName, const char *zValue){
390390
if( nAllocQP<=nUsedQP ){
391391
nAllocQP = nAllocQP*2 + 10;
392
- aParamQP = realloc( aParamQP, nAllocQP*sizeof(aParamQP[0]) );
393
- if( aParamQP==0 ) fossil_exit(1);
392
+ aParamQP = fossil_realloc( aParamQP, nAllocQP*sizeof(aParamQP[0]) );
394393
}
395394
aParamQP[nUsedQP].zName = zName;
396395
aParamQP[nUsedQP].zValue = zValue;
397396
if( g.fHttpTrace ){
398397
fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
@@ -681,12 +680,11 @@
681680
g.zContentType = zType = P("CONTENT_TYPE");
682681
if( len>0 && zType ){
683682
blob_zero(&g.cgiIn);
684683
if( strcmp(zType,"application/x-www-form-urlencoded")==0
685684
|| strncmp(zType,"multipart/form-data",19)==0 ){
686
- z = malloc( len+1 );
687
- if( z==0 ) fossil_exit(1);
685
+ z = fossil_malloc( len+1 );
688686
len = fread(z, 1, len, g.httpIn);
689687
z[len] = 0;
690688
if( zType[0]=='a' ){
691689
add_param_list(z, '&');
692690
}else{
693691
--- src/cgi.c
+++ src/cgi.c
@@ -387,12 +387,11 @@
387 ** deallocated after this routine returns.
388 */
389 void cgi_set_parameter_nocopy(const char *zName, const char *zValue){
390 if( nAllocQP<=nUsedQP ){
391 nAllocQP = nAllocQP*2 + 10;
392 aParamQP = realloc( aParamQP, nAllocQP*sizeof(aParamQP[0]) );
393 if( aParamQP==0 ) fossil_exit(1);
394 }
395 aParamQP[nUsedQP].zName = zName;
396 aParamQP[nUsedQP].zValue = zValue;
397 if( g.fHttpTrace ){
398 fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
@@ -681,12 +680,11 @@
681 g.zContentType = zType = P("CONTENT_TYPE");
682 if( len>0 && zType ){
683 blob_zero(&g.cgiIn);
684 if( strcmp(zType,"application/x-www-form-urlencoded")==0
685 || strncmp(zType,"multipart/form-data",19)==0 ){
686 z = malloc( len+1 );
687 if( z==0 ) fossil_exit(1);
688 len = fread(z, 1, len, g.httpIn);
689 z[len] = 0;
690 if( zType[0]=='a' ){
691 add_param_list(z, '&');
692 }else{
693
--- src/cgi.c
+++ src/cgi.c
@@ -387,12 +387,11 @@
387 ** deallocated after this routine returns.
388 */
389 void cgi_set_parameter_nocopy(const char *zName, const char *zValue){
390 if( nAllocQP<=nUsedQP ){
391 nAllocQP = nAllocQP*2 + 10;
392 aParamQP = fossil_realloc( aParamQP, nAllocQP*sizeof(aParamQP[0]) );
 
393 }
394 aParamQP[nUsedQP].zName = zName;
395 aParamQP[nUsedQP].zValue = zValue;
396 if( g.fHttpTrace ){
397 fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
@@ -681,12 +680,11 @@
680 g.zContentType = zType = P("CONTENT_TYPE");
681 if( len>0 && zType ){
682 blob_zero(&g.cgiIn);
683 if( strcmp(zType,"application/x-www-form-urlencoded")==0
684 || strncmp(zType,"multipart/form-data",19)==0 ){
685 z = fossil_malloc( len+1 );
 
686 len = fread(z, 1, len, g.httpIn);
687 z[len] = 0;
688 if( zType[0]=='a' ){
689 add_param_list(z, '&');
690 }else{
691
+1 -1
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465465
void select_commit_files(void){
466466
if( g.argc>2 ){
467467
int ii;
468468
Blob b;
469469
blob_zero(&b);
470
- g.aCommitFile = malloc(sizeof(int)*(g.argc-1));
470
+ g.aCommitFile = fossil_malloc(sizeof(int)*(g.argc-1));
471471
472472
for(ii=2; ii<g.argc; ii++){
473473
int iId;
474474
file_tree_name(g.argv[ii], &b, 1);
475475
iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476476
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465 void select_commit_files(void){
466 if( g.argc>2 ){
467 int ii;
468 Blob b;
469 blob_zero(&b);
470 g.aCommitFile = malloc(sizeof(int)*(g.argc-1));
471
472 for(ii=2; ii<g.argc; ii++){
473 int iId;
474 file_tree_name(g.argv[ii], &b, 1);
475 iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465 void select_commit_files(void){
466 if( g.argc>2 ){
467 int ii;
468 Blob b;
469 blob_zero(&b);
470 g.aCommitFile = fossil_malloc(sizeof(int)*(g.argc-1));
471
472 for(ii=2; ii<g.argc; ii++){
473 int iId;
474 file_tree_name(g.argv[ii], &b, 1);
475 iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476
+1 -1
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465465
void select_commit_files(void){
466466
if( g.argc>2 ){
467467
int ii;
468468
Blob b;
469469
blob_zero(&b);
470
- g.aCommitFile = malloc(sizeof(int)*(g.argc-1));
470
+ g.aCommitFile = fossil_malloc(sizeof(int)*(g.argc-1));
471471
472472
for(ii=2; ii<g.argc; ii++){
473473
int iId;
474474
file_tree_name(g.argv[ii], &b, 1);
475475
iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476476
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465 void select_commit_files(void){
466 if( g.argc>2 ){
467 int ii;
468 Blob b;
469 blob_zero(&b);
470 g.aCommitFile = malloc(sizeof(int)*(g.argc-1));
471
472 for(ii=2; ii<g.argc; ii++){
473 int iId;
474 file_tree_name(g.argv[ii], &b, 1);
475 iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476
--- src/checkin.c
+++ src/checkin.c
@@ -465,11 +465,11 @@
465 void select_commit_files(void){
466 if( g.argc>2 ){
467 int ii;
468 Blob b;
469 blob_zero(&b);
470 g.aCommitFile = fossil_malloc(sizeof(int)*(g.argc-1));
471
472 for(ii=2; ii<g.argc; ii++){
473 int iId;
474 file_tree_name(g.argv[ii], &b, 1);
475 iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
476
+4 -8
--- src/content.c
+++ src/content.c
@@ -80,13 +80,12 @@
8080
if( contentCache.n>500 || contentCache.szTotal>50000000 ){
8181
content_cache_expire_oldest();
8282
}
8383
if( contentCache.n>=contentCache.nAlloc ){
8484
contentCache.nAlloc = contentCache.nAlloc*2 + 10;
85
- contentCache.a = realloc(contentCache.a,
85
+ contentCache.a = fossil_realloc(contentCache.a,
8686
contentCache.nAlloc*sizeof(contentCache.a[0]));
87
- if( contentCache.a==0 ) fossil_panic("out of memory");
8887
}
8988
p = &contentCache.a[contentCache.n++];
9089
p->rid = rid;
9190
p->age = contentCache.nextAge++;
9291
contentCache.szTotal += blob_size(pBlob);
@@ -240,22 +239,20 @@
240239
int nAlloc = 10;
241240
int *a = 0;
242241
int mx;
243242
Blob delta, next;
244243
245
- a = malloc( sizeof(a[0])*nAlloc );
246
- if( a==0 ) fossil_panic("out of memory");
244
+ a = fossil_malloc( sizeof(a[0])*nAlloc );
247245
a[0] = rid;
248246
a[1] = nextRid;
249247
n = 1;
250248
while( !bag_find(&contentCache.inCache, nextRid)
251249
&& (nextRid = findSrcid(nextRid))>0 ){
252250
n++;
253251
if( n>=nAlloc ){
254252
nAlloc = nAlloc*2 + 10;
255
- a = realloc(a, nAlloc*sizeof(a[0]));
256
- if( a==0 ) fossil_panic("out of memory");
253
+ a = fossil_realloc(a, nAlloc*sizeof(a[0]));
257254
}
258255
a[n] = nextRid;
259256
}
260257
mx = n;
261258
rc = content_get(a[n], pBlob);
@@ -350,12 +347,11 @@
350347
db_prepare(&q, "SELECT rid FROM delta WHERE srcid=%d", rid);
351348
while( db_step(&q)==SQLITE_ROW ){
352349
int child = db_column_int(&q, 0);
353350
if( nChildUsed>=nChildAlloc ){
354351
nChildAlloc = nChildAlloc*2 + 10;
355
- aChild = realloc(aChild, nChildAlloc*sizeof(aChild));
356
- if( aChild==0 ) fossil_panic("out of memory");
352
+ aChild = fossil_realloc(aChild, nChildAlloc*sizeof(aChild));
357353
}
358354
aChild[nChildUsed++] = child;
359355
}
360356
db_finalize(&q);
361357
for(i=1; i<nChildUsed; i++){
362358
--- src/content.c
+++ src/content.c
@@ -80,13 +80,12 @@
80 if( contentCache.n>500 || contentCache.szTotal>50000000 ){
81 content_cache_expire_oldest();
82 }
83 if( contentCache.n>=contentCache.nAlloc ){
84 contentCache.nAlloc = contentCache.nAlloc*2 + 10;
85 contentCache.a = realloc(contentCache.a,
86 contentCache.nAlloc*sizeof(contentCache.a[0]));
87 if( contentCache.a==0 ) fossil_panic("out of memory");
88 }
89 p = &contentCache.a[contentCache.n++];
90 p->rid = rid;
91 p->age = contentCache.nextAge++;
92 contentCache.szTotal += blob_size(pBlob);
@@ -240,22 +239,20 @@
240 int nAlloc = 10;
241 int *a = 0;
242 int mx;
243 Blob delta, next;
244
245 a = malloc( sizeof(a[0])*nAlloc );
246 if( a==0 ) fossil_panic("out of memory");
247 a[0] = rid;
248 a[1] = nextRid;
249 n = 1;
250 while( !bag_find(&contentCache.inCache, nextRid)
251 && (nextRid = findSrcid(nextRid))>0 ){
252 n++;
253 if( n>=nAlloc ){
254 nAlloc = nAlloc*2 + 10;
255 a = realloc(a, nAlloc*sizeof(a[0]));
256 if( a==0 ) fossil_panic("out of memory");
257 }
258 a[n] = nextRid;
259 }
260 mx = n;
261 rc = content_get(a[n], pBlob);
@@ -350,12 +347,11 @@
350 db_prepare(&q, "SELECT rid FROM delta WHERE srcid=%d", rid);
351 while( db_step(&q)==SQLITE_ROW ){
352 int child = db_column_int(&q, 0);
353 if( nChildUsed>=nChildAlloc ){
354 nChildAlloc = nChildAlloc*2 + 10;
355 aChild = realloc(aChild, nChildAlloc*sizeof(aChild));
356 if( aChild==0 ) fossil_panic("out of memory");
357 }
358 aChild[nChildUsed++] = child;
359 }
360 db_finalize(&q);
361 for(i=1; i<nChildUsed; i++){
362
--- src/content.c
+++ src/content.c
@@ -80,13 +80,12 @@
80 if( contentCache.n>500 || contentCache.szTotal>50000000 ){
81 content_cache_expire_oldest();
82 }
83 if( contentCache.n>=contentCache.nAlloc ){
84 contentCache.nAlloc = contentCache.nAlloc*2 + 10;
85 contentCache.a = fossil_realloc(contentCache.a,
86 contentCache.nAlloc*sizeof(contentCache.a[0]));
 
87 }
88 p = &contentCache.a[contentCache.n++];
89 p->rid = rid;
90 p->age = contentCache.nextAge++;
91 contentCache.szTotal += blob_size(pBlob);
@@ -240,22 +239,20 @@
239 int nAlloc = 10;
240 int *a = 0;
241 int mx;
242 Blob delta, next;
243
244 a = fossil_malloc( sizeof(a[0])*nAlloc );
 
245 a[0] = rid;
246 a[1] = nextRid;
247 n = 1;
248 while( !bag_find(&contentCache.inCache, nextRid)
249 && (nextRid = findSrcid(nextRid))>0 ){
250 n++;
251 if( n>=nAlloc ){
252 nAlloc = nAlloc*2 + 10;
253 a = fossil_realloc(a, nAlloc*sizeof(a[0]));
 
254 }
255 a[n] = nextRid;
256 }
257 mx = n;
258 rc = content_get(a[n], pBlob);
@@ -350,12 +347,11 @@
347 db_prepare(&q, "SELECT rid FROM delta WHERE srcid=%d", rid);
348 while( db_step(&q)==SQLITE_ROW ){
349 int child = db_column_int(&q, 0);
350 if( nChildUsed>=nChildAlloc ){
351 nChildAlloc = nChildAlloc*2 + 10;
352 aChild = fossil_realloc(aChild, nChildAlloc*sizeof(aChild));
 
353 }
354 aChild[nChildUsed++] = child;
355 }
356 db_finalize(&q);
357 for(i=1; i<nChildUsed; i++){
358
+1 -2
--- src/delta.c
+++ src/delta.c
@@ -317,12 +317,11 @@
317317
318318
/* Compute the hash table used to locate matching sections in the
319319
** source file.
320320
*/
321321
nHash = lenSrc/NHASH;
322
- collide = malloc( nHash*2*sizeof(int) );
323
- if( collide==0 ) return -1;
322
+ collide = fossil_malloc( nHash*2*sizeof(int) );
324323
landmark = &collide[nHash];
325324
memset(landmark, -1, nHash*sizeof(int));
326325
memset(collide, -1, nHash*sizeof(int));
327326
for(i=0; i<lenSrc-NHASH; i+=NHASH){
328327
int hv;
329328
--- src/delta.c
+++ src/delta.c
@@ -317,12 +317,11 @@
317
318 /* Compute the hash table used to locate matching sections in the
319 ** source file.
320 */
321 nHash = lenSrc/NHASH;
322 collide = malloc( nHash*2*sizeof(int) );
323 if( collide==0 ) return -1;
324 landmark = &collide[nHash];
325 memset(landmark, -1, nHash*sizeof(int));
326 memset(collide, -1, nHash*sizeof(int));
327 for(i=0; i<lenSrc-NHASH; i+=NHASH){
328 int hv;
329
--- src/delta.c
+++ src/delta.c
@@ -317,12 +317,11 @@
317
318 /* Compute the hash table used to locate matching sections in the
319 ** source file.
320 */
321 nHash = lenSrc/NHASH;
322 collide = fossil_malloc( nHash*2*sizeof(int) );
 
323 landmark = &collide[nHash];
324 memset(landmark, -1, nHash*sizeof(int));
325 memset(collide, -1, nHash*sizeof(int));
326 for(i=0; i<lenSrc-NHASH; i+=NHASH){
327 int hv;
328
+3 -12
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
9696
}
9797
}
9898
if( j>LENGTH_MASK ){
9999
return 0;
100100
}
101
- a = malloc( nLine*sizeof(a[0]) );
102
- if( a==0 ) fossil_panic("out of memory");
101
+ a = fossil_malloc( nLine*sizeof(a[0]) );
103102
memset(a, 0, nLine*sizeof(a[0]) );
104103
if( n==0 ){
105104
*pnLine = 0;
106105
return a;
107106
}
@@ -145,18 +144,11 @@
145144
146145
/*
147146
** Expand the size of aEdit[] array to hold nEdit elements.
148147
*/
149148
static void expandEdit(DContext *p, int nEdit){
150
- int *a;
151
- a = realloc(p->aEdit, nEdit*sizeof(int));
152
- if( a==0 ){
153
- free( p->aEdit );
154
- p->nEdit = 0;
155
- nEdit = 0;
156
- }
157
- p->aEdit = a;
149
+ p->aEdit = fossil_realloc(p->aEdit, nEdit*sizeof(int));
158150
p->nEditAlloc = nEdit;
159151
}
160152
161153
/*
162154
** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
649641
memset(p, 0, sizeof(*p));
650642
p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
651643
if( p->c.aTo==0 ){
652644
return 1;
653645
}
654
- p->aOrig = malloc( sizeof(p->aOrig[0])*p->c.nTo );
655
- if( p->aOrig==0 ) fossil_panic("out of memory");
646
+ p->aOrig = fossil_malloc( sizeof(p->aOrig[0])*p->c.nTo );
656647
for(i=0; i<p->c.nTo; i++){
657648
p->aOrig[i].z = p->c.aTo[i].z;
658649
p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
659650
p->aOrig[i].zSrc = 0;
660651
}
661652
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
96 }
97 }
98 if( j>LENGTH_MASK ){
99 return 0;
100 }
101 a = malloc( nLine*sizeof(a[0]) );
102 if( a==0 ) fossil_panic("out of memory");
103 memset(a, 0, nLine*sizeof(a[0]) );
104 if( n==0 ){
105 *pnLine = 0;
106 return a;
107 }
@@ -145,18 +144,11 @@
145
146 /*
147 ** Expand the size of aEdit[] array to hold nEdit elements.
148 */
149 static void expandEdit(DContext *p, int nEdit){
150 int *a;
151 a = realloc(p->aEdit, nEdit*sizeof(int));
152 if( a==0 ){
153 free( p->aEdit );
154 p->nEdit = 0;
155 nEdit = 0;
156 }
157 p->aEdit = a;
158 p->nEditAlloc = nEdit;
159 }
160
161 /*
162 ** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
649 memset(p, 0, sizeof(*p));
650 p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
651 if( p->c.aTo==0 ){
652 return 1;
653 }
654 p->aOrig = malloc( sizeof(p->aOrig[0])*p->c.nTo );
655 if( p->aOrig==0 ) fossil_panic("out of memory");
656 for(i=0; i<p->c.nTo; i++){
657 p->aOrig[i].z = p->c.aTo[i].z;
658 p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
659 p->aOrig[i].zSrc = 0;
660 }
661
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
96 }
97 }
98 if( j>LENGTH_MASK ){
99 return 0;
100 }
101 a = fossil_malloc( nLine*sizeof(a[0]) );
 
102 memset(a, 0, nLine*sizeof(a[0]) );
103 if( n==0 ){
104 *pnLine = 0;
105 return a;
106 }
@@ -145,18 +144,11 @@
144
145 /*
146 ** Expand the size of aEdit[] array to hold nEdit elements.
147 */
148 static void expandEdit(DContext *p, int nEdit){
149 p->aEdit = fossil_realloc(p->aEdit, nEdit*sizeof(int));
 
 
 
 
 
 
 
150 p->nEditAlloc = nEdit;
151 }
152
153 /*
154 ** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
641 memset(p, 0, sizeof(*p));
642 p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
643 if( p->c.aTo==0 ){
644 return 1;
645 }
646 p->aOrig = fossil_malloc( sizeof(p->aOrig[0])*p->c.nTo );
 
647 for(i=0; i<p->c.nTo; i++){
648 p->aOrig[i].z = p->c.aTo[i].z;
649 p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
650 p->aOrig[i].zSrc = 0;
651 }
652
+3 -12
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
9696
}
9797
}
9898
if( j>LENGTH_MASK ){
9999
return 0;
100100
}
101
- a = malloc( nLine*sizeof(a[0]) );
102
- if( a==0 ) fossil_panic("out of memory");
101
+ a = fossil_malloc( nLine*sizeof(a[0]) );
103102
memset(a, 0, nLine*sizeof(a[0]) );
104103
if( n==0 ){
105104
*pnLine = 0;
106105
return a;
107106
}
@@ -145,18 +144,11 @@
145144
146145
/*
147146
** Expand the size of aEdit[] array to hold nEdit elements.
148147
*/
149148
static void expandEdit(DContext *p, int nEdit){
150
- int *a;
151
- a = realloc(p->aEdit, nEdit*sizeof(int));
152
- if( a==0 ){
153
- free( p->aEdit );
154
- p->nEdit = 0;
155
- nEdit = 0;
156
- }
157
- p->aEdit = a;
149
+ p->aEdit = fossil_realloc(p->aEdit, nEdit*sizeof(int));
158150
p->nEditAlloc = nEdit;
159151
}
160152
161153
/*
162154
** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
649641
memset(p, 0, sizeof(*p));
650642
p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
651643
if( p->c.aTo==0 ){
652644
return 1;
653645
}
654
- p->aOrig = malloc( sizeof(p->aOrig[0])*p->c.nTo );
655
- if( p->aOrig==0 ) fossil_panic("out of memory");
646
+ p->aOrig = fossil_malloc( sizeof(p->aOrig[0])*p->c.nTo );
656647
for(i=0; i<p->c.nTo; i++){
657648
p->aOrig[i].z = p->c.aTo[i].z;
658649
p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
659650
p->aOrig[i].zSrc = 0;
660651
}
661652
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
96 }
97 }
98 if( j>LENGTH_MASK ){
99 return 0;
100 }
101 a = malloc( nLine*sizeof(a[0]) );
102 if( a==0 ) fossil_panic("out of memory");
103 memset(a, 0, nLine*sizeof(a[0]) );
104 if( n==0 ){
105 *pnLine = 0;
106 return a;
107 }
@@ -145,18 +144,11 @@
145
146 /*
147 ** Expand the size of aEdit[] array to hold nEdit elements.
148 */
149 static void expandEdit(DContext *p, int nEdit){
150 int *a;
151 a = realloc(p->aEdit, nEdit*sizeof(int));
152 if( a==0 ){
153 free( p->aEdit );
154 p->nEdit = 0;
155 nEdit = 0;
156 }
157 p->aEdit = a;
158 p->nEditAlloc = nEdit;
159 }
160
161 /*
162 ** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
649 memset(p, 0, sizeof(*p));
650 p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
651 if( p->c.aTo==0 ){
652 return 1;
653 }
654 p->aOrig = malloc( sizeof(p->aOrig[0])*p->c.nTo );
655 if( p->aOrig==0 ) fossil_panic("out of memory");
656 for(i=0; i<p->c.nTo; i++){
657 p->aOrig[i].z = p->c.aTo[i].z;
658 p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
659 p->aOrig[i].zSrc = 0;
660 }
661
--- src/diff.c
+++ src/diff.c
@@ -96,12 +96,11 @@
96 }
97 }
98 if( j>LENGTH_MASK ){
99 return 0;
100 }
101 a = fossil_malloc( nLine*sizeof(a[0]) );
 
102 memset(a, 0, nLine*sizeof(a[0]) );
103 if( n==0 ){
104 *pnLine = 0;
105 return a;
106 }
@@ -145,18 +144,11 @@
144
145 /*
146 ** Expand the size of aEdit[] array to hold nEdit elements.
147 */
148 static void expandEdit(DContext *p, int nEdit){
149 p->aEdit = fossil_realloc(p->aEdit, nEdit*sizeof(int));
 
 
 
 
 
 
 
150 p->nEditAlloc = nEdit;
151 }
152
153 /*
154 ** Append a new COPY/DELETE/INSERT triple.
@@ -649,12 +641,11 @@
641 memset(p, 0, sizeof(*p));
642 p->c.aTo = break_into_lines(blob_str(pInput), blob_size(pInput),&p->c.nTo,1);
643 if( p->c.aTo==0 ){
644 return 1;
645 }
646 p->aOrig = fossil_malloc( sizeof(p->aOrig[0])*p->c.nTo );
 
647 for(i=0; i<p->c.nTo; i++){
648 p->aOrig[i].z = p->c.aTo[i].z;
649 p->aOrig[i].n = p->c.aTo[i].h & LENGTH_MASK;
650 p->aOrig[i].zSrc = 0;
651 }
652
+2 -1
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253253
int isDeleted = db_column_int(&q, 1);
254254
int isChnged = db_column_int(&q,2);
255255
int isNew = db_column_int(&q,3);
256256
int srcid = db_column_int(&q, 4);
257257
char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
258
+ char *zToFree = zFullName;
258259
int showDiff = 1;
259260
if( isDeleted ){
260261
printf("DELETED %s\n", zPathname);
261262
if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
262263
}else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
283284
zPathname
284285
);
285286
diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
286287
blob_reset(&content);
287288
}
288
- free(zFullName);
289
+ free(zToFree);
289290
}
290291
db_finalize(&q);
291292
db_end_transaction(1); /* ROLLBACK */
292293
}
293294
294295
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253 int isDeleted = db_column_int(&q, 1);
254 int isChnged = db_column_int(&q,2);
255 int isNew = db_column_int(&q,3);
256 int srcid = db_column_int(&q, 4);
257 char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
 
258 int showDiff = 1;
259 if( isDeleted ){
260 printf("DELETED %s\n", zPathname);
261 if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
262 }else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
283 zPathname
284 );
285 diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
286 blob_reset(&content);
287 }
288 free(zFullName);
289 }
290 db_finalize(&q);
291 db_end_transaction(1); /* ROLLBACK */
292 }
293
294
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253 int isDeleted = db_column_int(&q, 1);
254 int isChnged = db_column_int(&q,2);
255 int isNew = db_column_int(&q,3);
256 int srcid = db_column_int(&q, 4);
257 char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
258 char *zToFree = zFullName;
259 int showDiff = 1;
260 if( isDeleted ){
261 printf("DELETED %s\n", zPathname);
262 if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
263 }else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
284 zPathname
285 );
286 diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
287 blob_reset(&content);
288 }
289 free(zToFree);
290 }
291 db_finalize(&q);
292 db_end_transaction(1); /* ROLLBACK */
293 }
294
295
+2 -1
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253253
int isDeleted = db_column_int(&q, 1);
254254
int isChnged = db_column_int(&q,2);
255255
int isNew = db_column_int(&q,3);
256256
int srcid = db_column_int(&q, 4);
257257
char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
258
+ char *zToFree = zFullName;
258259
int showDiff = 1;
259260
if( isDeleted ){
260261
printf("DELETED %s\n", zPathname);
261262
if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
262263
}else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
283284
zPathname
284285
);
285286
diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
286287
blob_reset(&content);
287288
}
288
- free(zFullName);
289
+ free(zToFree);
289290
}
290291
db_finalize(&q);
291292
db_end_transaction(1); /* ROLLBACK */
292293
}
293294
294295
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253 int isDeleted = db_column_int(&q, 1);
254 int isChnged = db_column_int(&q,2);
255 int isNew = db_column_int(&q,3);
256 int srcid = db_column_int(&q, 4);
257 char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
 
258 int showDiff = 1;
259 if( isDeleted ){
260 printf("DELETED %s\n", zPathname);
261 if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
262 }else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
283 zPathname
284 );
285 diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
286 blob_reset(&content);
287 }
288 free(zFullName);
289 }
290 db_finalize(&q);
291 db_end_transaction(1); /* ROLLBACK */
292 }
293
294
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -253,10 +253,11 @@
253 int isDeleted = db_column_int(&q, 1);
254 int isChnged = db_column_int(&q,2);
255 int isNew = db_column_int(&q,3);
256 int srcid = db_column_int(&q, 4);
257 char *zFullName = mprintf("%s%s", g.zLocalRoot, zPathname);
258 char *zToFree = zFullName;
259 int showDiff = 1;
260 if( isDeleted ){
261 printf("DELETED %s\n", zPathname);
262 if( !asNewFile ){ showDiff = 0; zFullName = "/dev/null"; }
263 }else if( access(zFullName, 0) ){
@@ -283,11 +284,11 @@
284 zPathname
285 );
286 diff_file(&content, zFullName, zPathname, zDiffCmd, ignoreEolWs);
287 blob_reset(&content);
288 }
289 free(zToFree);
290 }
291 db_finalize(&q);
292 db_end_transaction(1); /* ROLLBACK */
293 }
294
295
+7 -11
--- src/encode.c
+++ src/encode.c
@@ -44,12 +44,11 @@
4444
default: count++; break;
4545
}
4646
i++;
4747
}
4848
i = 0;
49
- zOut = malloc( count+1 );
50
- if( zOut==0 ) return 0;
49
+ zOut = fossil_malloc( count+1 );
5150
while( n-->0 && (c = *zIn)!=0 ){
5251
switch( c ){
5352
case '<':
5453
zOut[i++] = '&';
5554
zOut[i++] = 'l';
@@ -115,12 +114,11 @@
115114
count += 3;
116115
}
117116
i++;
118117
}
119118
i = 0;
120
- zOut = malloc( count+1 );
121
- if( zOut==0 ) return 0;
119
+ zOut = fossil_malloc( count+1 );
122120
while( n-->0 && (c = *zIn)!=0 ){
123121
if( IsSafeChar(c) ){
124122
zOut[i++] = c;
125123
}else if( c==' ' ){
126124
zOut[i++] = '+';
@@ -234,11 +232,11 @@
234232
c = zIn[i];
235233
if( c==0 || c==' ' || c=='\n' || c=='\t' || c=='\r' || c=='\f' || c=='\v'
236234
|| c=='\\' ) n++;
237235
}
238236
n += nIn;
239
- zOut = malloc( n+1 );
237
+ zOut = fossil_malloc( n+1 );
240238
if( zOut ){
241239
for(i=j=0; i<nIn; i++){
242240
int c = zIn[i];
243241
if( c==0 ){
244242
zOut[j++] = '\\';
@@ -310,11 +308,11 @@
310308
int i, n;
311309
312310
if( nData<=0 ){
313311
nData = strlen(zData);
314312
}
315
- z64 = malloc( (nData*4)/3 + 8 );
313
+ z64 = fossil_malloc( (nData*4)/3 + 8 );
316314
for(i=n=0; i+2<nData; i+=3){
317315
z64[n++] = zBase[ (zData[i]>>2) & 0x3f ];
318316
z64[n++] = zBase[ ((zData[i]<<4) & 0x30) | ((zData[i+1]>>4) & 0x0f) ];
319317
z64[n++] = zBase[ ((zData[i+1]<<2) & 0x3c) | ((zData[i+2]>>6) & 0x03) ];
320318
z64[n++] = zBase[ zData[i+2] & 0x3f ];
@@ -371,11 +369,11 @@
371369
for(i=0; zBase[i]; i++){ trans[zBase[i] & 0x7f] = i; }
372370
isInit = 1;
373371
}
374372
n64 = strlen(z64);
375373
while( n64>0 && z64[n64-1]=='=' ) n64--;
376
- zData = malloc( (n64*3)/4 + 4 );
374
+ zData = fossil_malloc( (n64*3)/4 + 4 );
377375
for(i=j=0; i+3<n64; i+=4){
378376
a = trans[z64[i] & 0x7f];
379377
b = trans[z64[i+1] & 0x7f];
380378
c = trans[z64[i+2] & 0x7f];
381379
d = trans[z64[i+3] & 0x7f];
@@ -532,12 +530,11 @@
532530
unsigned char salt;
533531
char *zOut;
534532
535533
if( zIn==0 ) return 0;
536534
n = strlen(zIn);
537
- zOut = malloc( n*2+3 );
538
- if( zOut==0 ) fossil_panic("out of memory");
535
+ zOut = fossil_malloc( n*2+3 );
539536
sqlite3_randomness(1, &salt);
540537
zOut[n+1] = (char)salt;
541538
for(i=0; i<n; i++) zOut[i+n+2] = zIn[i]^aObscurer[i&0x0f]^salt;
542539
encode16((unsigned char*)&zOut[n+1], (unsigned char*)zOut, n+1);
543540
return zOut;
@@ -555,12 +552,11 @@
555552
unsigned char salt;
556553
char *zOut;
557554
558555
if( zIn==0 ) return 0;
559556
n = strlen(zIn);
560
- zOut = malloc( n + 1 );
561
- if( zOut==0 ) fossil_panic("out of memory");
557
+ zOut = fossil_malloc( n + 1 );
562558
if( n<2
563559
|| decode16((unsigned char*)zIn, &salt, 2)
564560
|| decode16((unsigned char*)&zIn[2], (unsigned char*)zOut, n-2)
565561
){
566562
memcpy(zOut, zIn, n+1);
567563
--- src/encode.c
+++ src/encode.c
@@ -44,12 +44,11 @@
44 default: count++; break;
45 }
46 i++;
47 }
48 i = 0;
49 zOut = malloc( count+1 );
50 if( zOut==0 ) return 0;
51 while( n-->0 && (c = *zIn)!=0 ){
52 switch( c ){
53 case '<':
54 zOut[i++] = '&';
55 zOut[i++] = 'l';
@@ -115,12 +114,11 @@
115 count += 3;
116 }
117 i++;
118 }
119 i = 0;
120 zOut = malloc( count+1 );
121 if( zOut==0 ) return 0;
122 while( n-->0 && (c = *zIn)!=0 ){
123 if( IsSafeChar(c) ){
124 zOut[i++] = c;
125 }else if( c==' ' ){
126 zOut[i++] = '+';
@@ -234,11 +232,11 @@
234 c = zIn[i];
235 if( c==0 || c==' ' || c=='\n' || c=='\t' || c=='\r' || c=='\f' || c=='\v'
236 || c=='\\' ) n++;
237 }
238 n += nIn;
239 zOut = malloc( n+1 );
240 if( zOut ){
241 for(i=j=0; i<nIn; i++){
242 int c = zIn[i];
243 if( c==0 ){
244 zOut[j++] = '\\';
@@ -310,11 +308,11 @@
310 int i, n;
311
312 if( nData<=0 ){
313 nData = strlen(zData);
314 }
315 z64 = malloc( (nData*4)/3 + 8 );
316 for(i=n=0; i+2<nData; i+=3){
317 z64[n++] = zBase[ (zData[i]>>2) & 0x3f ];
318 z64[n++] = zBase[ ((zData[i]<<4) & 0x30) | ((zData[i+1]>>4) & 0x0f) ];
319 z64[n++] = zBase[ ((zData[i+1]<<2) & 0x3c) | ((zData[i+2]>>6) & 0x03) ];
320 z64[n++] = zBase[ zData[i+2] & 0x3f ];
@@ -371,11 +369,11 @@
371 for(i=0; zBase[i]; i++){ trans[zBase[i] & 0x7f] = i; }
372 isInit = 1;
373 }
374 n64 = strlen(z64);
375 while( n64>0 && z64[n64-1]=='=' ) n64--;
376 zData = malloc( (n64*3)/4 + 4 );
377 for(i=j=0; i+3<n64; i+=4){
378 a = trans[z64[i] & 0x7f];
379 b = trans[z64[i+1] & 0x7f];
380 c = trans[z64[i+2] & 0x7f];
381 d = trans[z64[i+3] & 0x7f];
@@ -532,12 +530,11 @@
532 unsigned char salt;
533 char *zOut;
534
535 if( zIn==0 ) return 0;
536 n = strlen(zIn);
537 zOut = malloc( n*2+3 );
538 if( zOut==0 ) fossil_panic("out of memory");
539 sqlite3_randomness(1, &salt);
540 zOut[n+1] = (char)salt;
541 for(i=0; i<n; i++) zOut[i+n+2] = zIn[i]^aObscurer[i&0x0f]^salt;
542 encode16((unsigned char*)&zOut[n+1], (unsigned char*)zOut, n+1);
543 return zOut;
@@ -555,12 +552,11 @@
555 unsigned char salt;
556 char *zOut;
557
558 if( zIn==0 ) return 0;
559 n = strlen(zIn);
560 zOut = malloc( n + 1 );
561 if( zOut==0 ) fossil_panic("out of memory");
562 if( n<2
563 || decode16((unsigned char*)zIn, &salt, 2)
564 || decode16((unsigned char*)&zIn[2], (unsigned char*)zOut, n-2)
565 ){
566 memcpy(zOut, zIn, n+1);
567
--- src/encode.c
+++ src/encode.c
@@ -44,12 +44,11 @@
44 default: count++; break;
45 }
46 i++;
47 }
48 i = 0;
49 zOut = fossil_malloc( count+1 );
 
50 while( n-->0 && (c = *zIn)!=0 ){
51 switch( c ){
52 case '<':
53 zOut[i++] = '&';
54 zOut[i++] = 'l';
@@ -115,12 +114,11 @@
114 count += 3;
115 }
116 i++;
117 }
118 i = 0;
119 zOut = fossil_malloc( count+1 );
 
120 while( n-->0 && (c = *zIn)!=0 ){
121 if( IsSafeChar(c) ){
122 zOut[i++] = c;
123 }else if( c==' ' ){
124 zOut[i++] = '+';
@@ -234,11 +232,11 @@
232 c = zIn[i];
233 if( c==0 || c==' ' || c=='\n' || c=='\t' || c=='\r' || c=='\f' || c=='\v'
234 || c=='\\' ) n++;
235 }
236 n += nIn;
237 zOut = fossil_malloc( n+1 );
238 if( zOut ){
239 for(i=j=0; i<nIn; i++){
240 int c = zIn[i];
241 if( c==0 ){
242 zOut[j++] = '\\';
@@ -310,11 +308,11 @@
308 int i, n;
309
310 if( nData<=0 ){
311 nData = strlen(zData);
312 }
313 z64 = fossil_malloc( (nData*4)/3 + 8 );
314 for(i=n=0; i+2<nData; i+=3){
315 z64[n++] = zBase[ (zData[i]>>2) & 0x3f ];
316 z64[n++] = zBase[ ((zData[i]<<4) & 0x30) | ((zData[i+1]>>4) & 0x0f) ];
317 z64[n++] = zBase[ ((zData[i+1]<<2) & 0x3c) | ((zData[i+2]>>6) & 0x03) ];
318 z64[n++] = zBase[ zData[i+2] & 0x3f ];
@@ -371,11 +369,11 @@
369 for(i=0; zBase[i]; i++){ trans[zBase[i] & 0x7f] = i; }
370 isInit = 1;
371 }
372 n64 = strlen(z64);
373 while( n64>0 && z64[n64-1]=='=' ) n64--;
374 zData = fossil_malloc( (n64*3)/4 + 4 );
375 for(i=j=0; i+3<n64; i+=4){
376 a = trans[z64[i] & 0x7f];
377 b = trans[z64[i+1] & 0x7f];
378 c = trans[z64[i+2] & 0x7f];
379 d = trans[z64[i+3] & 0x7f];
@@ -532,12 +530,11 @@
530 unsigned char salt;
531 char *zOut;
532
533 if( zIn==0 ) return 0;
534 n = strlen(zIn);
535 zOut = fossil_malloc( n*2+3 );
 
536 sqlite3_randomness(1, &salt);
537 zOut[n+1] = (char)salt;
538 for(i=0; i<n; i++) zOut[i+n+2] = zIn[i]^aObscurer[i&0x0f]^salt;
539 encode16((unsigned char*)&zOut[n+1], (unsigned char*)zOut, n+1);
540 return zOut;
@@ -555,12 +552,11 @@
552 unsigned char salt;
553 char *zOut;
554
555 if( zIn==0 ) return 0;
556 n = strlen(zIn);
557 zOut = fossil_malloc( n + 1 );
 
558 if( n<2
559 || decode16((unsigned char*)zIn, &salt, 2)
560 || decode16((unsigned char*)&zIn[2], (unsigned char*)zOut, n-2)
561 ){
562 memcpy(zOut, zIn, n+1);
563
+2 -4
--- src/graph.c
+++ src/graph.c
@@ -72,12 +72,11 @@
7272
/*
7373
** Malloc for zeroed space. Panic if unable to provide the
7474
** requested space.
7575
*/
7676
void *safeMalloc(int nByte){
77
- void *p = malloc(nByte);
78
- if( p==0 ) fossil_panic("out of memory");
77
+ void *p = fossil_malloc(nByte);
7978
memset(p, 0, nByte);
8079
return p;
8180
}
8281
8382
/*
@@ -148,12 +147,11 @@
148147
int i;
149148
for(i=0; i<p->nBranch; i++){
150149
if( strcmp(zBranch, p->azBranch[i])==0 ) return p->azBranch[i];
151150
}
152151
p->nBranch++;
153
- p->azBranch = realloc(p->azBranch, sizeof(char*)*p->nBranch);
154
- if( p->azBranch==0 ) fossil_panic("out of memory");
152
+ p->azBranch = fossil_realloc(p->azBranch, sizeof(char*)*p->nBranch);
155153
p->azBranch[p->nBranch-1] = mprintf("%s", zBranch);
156154
return p->azBranch[p->nBranch-1];
157155
}
158156
159157
/*
160158
--- src/graph.c
+++ src/graph.c
@@ -72,12 +72,11 @@
72 /*
73 ** Malloc for zeroed space. Panic if unable to provide the
74 ** requested space.
75 */
76 void *safeMalloc(int nByte){
77 void *p = malloc(nByte);
78 if( p==0 ) fossil_panic("out of memory");
79 memset(p, 0, nByte);
80 return p;
81 }
82
83 /*
@@ -148,12 +147,11 @@
148 int i;
149 for(i=0; i<p->nBranch; i++){
150 if( strcmp(zBranch, p->azBranch[i])==0 ) return p->azBranch[i];
151 }
152 p->nBranch++;
153 p->azBranch = realloc(p->azBranch, sizeof(char*)*p->nBranch);
154 if( p->azBranch==0 ) fossil_panic("out of memory");
155 p->azBranch[p->nBranch-1] = mprintf("%s", zBranch);
156 return p->azBranch[p->nBranch-1];
157 }
158
159 /*
160
--- src/graph.c
+++ src/graph.c
@@ -72,12 +72,11 @@
72 /*
73 ** Malloc for zeroed space. Panic if unable to provide the
74 ** requested space.
75 */
76 void *safeMalloc(int nByte){
77 void *p = fossil_malloc(nByte);
 
78 memset(p, 0, nByte);
79 return p;
80 }
81
82 /*
@@ -148,12 +147,11 @@
147 int i;
148 for(i=0; i<p->nBranch; i++){
149 if( strcmp(zBranch, p->azBranch[i])==0 ) return p->azBranch[i];
150 }
151 p->nBranch++;
152 p->azBranch = fossil_realloc(p->azBranch, sizeof(char*)*p->nBranch);
 
153 p->azBranch[p->nBranch-1] = mprintf("%s", zBranch);
154 return p->azBranch[p->nBranch-1];
155 }
156
157 /*
158
--- src/http_transport.c
+++ src/http_transport.c
@@ -386,12 +386,11 @@
386386
*/
387387
static void transport_load_buffer(int N){
388388
int i, j;
389389
if( transport.nAlloc==0 ){
390390
transport.nAlloc = N;
391
- transport.pBuf = malloc( N );
392
- if( transport.pBuf==0 ) fossil_panic("out of memory");
391
+ transport.pBuf = fossil_malloc( N );
393392
transport.iCursor = 0;
394393
transport.nUsed = 0;
395394
}
396395
if( transport.iCursor>0 ){
397396
for(i=0, j=transport.iCursor; j<transport.nUsed; i++, j++){
@@ -401,12 +400,11 @@
401400
transport.iCursor = 0;
402401
}
403402
if( transport.nUsed + N > transport.nAlloc ){
404403
char *pNew;
405404
transport.nAlloc = transport.nUsed + N;
406
- pNew = realloc(transport.pBuf, transport.nAlloc);
407
- if( pNew==0 ) fossil_panic("out of memory");
405
+ pNew = fossil_realloc(transport.pBuf, transport.nAlloc);
408406
transport.pBuf = pNew;
409407
}
410408
if( N>0 ){
411409
i = transport_fetch(&transport.pBuf[transport.nUsed], N);
412410
if( i>0 ){
413411
--- src/http_transport.c
+++ src/http_transport.c
@@ -386,12 +386,11 @@
386 */
387 static void transport_load_buffer(int N){
388 int i, j;
389 if( transport.nAlloc==0 ){
390 transport.nAlloc = N;
391 transport.pBuf = malloc( N );
392 if( transport.pBuf==0 ) fossil_panic("out of memory");
393 transport.iCursor = 0;
394 transport.nUsed = 0;
395 }
396 if( transport.iCursor>0 ){
397 for(i=0, j=transport.iCursor; j<transport.nUsed; i++, j++){
@@ -401,12 +400,11 @@
401 transport.iCursor = 0;
402 }
403 if( transport.nUsed + N > transport.nAlloc ){
404 char *pNew;
405 transport.nAlloc = transport.nUsed + N;
406 pNew = realloc(transport.pBuf, transport.nAlloc);
407 if( pNew==0 ) fossil_panic("out of memory");
408 transport.pBuf = pNew;
409 }
410 if( N>0 ){
411 i = transport_fetch(&transport.pBuf[transport.nUsed], N);
412 if( i>0 ){
413
--- src/http_transport.c
+++ src/http_transport.c
@@ -386,12 +386,11 @@
386 */
387 static void transport_load_buffer(int N){
388 int i, j;
389 if( transport.nAlloc==0 ){
390 transport.nAlloc = N;
391 transport.pBuf = fossil_malloc( N );
 
392 transport.iCursor = 0;
393 transport.nUsed = 0;
394 }
395 if( transport.iCursor>0 ){
396 for(i=0, j=transport.iCursor; j<transport.nUsed; i++, j++){
@@ -401,12 +400,11 @@
400 transport.iCursor = 0;
401 }
402 if( transport.nUsed + N > transport.nAlloc ){
403 char *pNew;
404 transport.nAlloc = transport.nUsed + N;
405 pNew = fossil_realloc(transport.pBuf, transport.nAlloc);
 
406 transport.pBuf = pNew;
407 }
408 if( N>0 ){
409 i = transport_fetch(&transport.pBuf[transport.nUsed], N);
410 if( i>0 ){
411
+1 -1
--- src/login.c
+++ src/login.c
@@ -52,11 +52,11 @@
5252
*/
5353
static char *login_cookie_name(void){
5454
static char *zCookieName = 0;
5555
if( zCookieName==0 ){
5656
int n = strlen(g.zTop);
57
- zCookieName = malloc( n*2+16 );
57
+ zCookieName = fossil_malloc( n*2+16 );
5858
/* 0123456789 12345 */
5959
strcpy(zCookieName, "fossil_login_");
6060
encode16((unsigned char*)g.zTop, (unsigned char*)&zCookieName[13], n);
6161
}
6262
return zCookieName;
6363
--- src/login.c
+++ src/login.c
@@ -52,11 +52,11 @@
52 */
53 static char *login_cookie_name(void){
54 static char *zCookieName = 0;
55 if( zCookieName==0 ){
56 int n = strlen(g.zTop);
57 zCookieName = malloc( n*2+16 );
58 /* 0123456789 12345 */
59 strcpy(zCookieName, "fossil_login_");
60 encode16((unsigned char*)g.zTop, (unsigned char*)&zCookieName[13], n);
61 }
62 return zCookieName;
63
--- src/login.c
+++ src/login.c
@@ -52,11 +52,11 @@
52 */
53 static char *login_cookie_name(void){
54 static char *zCookieName = 0;
55 if( zCookieName==0 ){
56 int n = strlen(g.zTop);
57 zCookieName = fossil_malloc( n*2+16 );
58 /* 0123456789 12345 */
59 strcpy(zCookieName, "fossil_login_");
60 encode16((unsigned char*)g.zTop, (unsigned char*)&zCookieName[13], n);
61 }
62 return zCookieName;
63
+18
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359359
cgi_printf("<p class=\"generalError\">%h</p>", z);
360360
}else{
361361
fprintf(stderr, "%s: %s\n", g.argv[0], z);
362362
}
363363
}
364
+
365
+/*
366
+** Malloc and free routines that cannot fail
367
+*/
368
+void *fossil_malloc(size_t n){
369
+ void *p = malloc(n);
370
+ if( p==0 ) fossil_panic("out of memory");
371
+ return p;
372
+}
373
+void fossil_free(void *p){
374
+ free(p);
375
+}
376
+void *fossil_realloc(void *p, size_t n){
377
+ p = realloc(p, n);
378
+ if( p==0 ) fossil_panic("out of memory");
379
+ return p;
380
+}
381
+
364382
365383
/*
366384
** Return a name for an SQLite error code
367385
*/
368386
static const char *sqlite_error_code_name(int iCode){
369387
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359 cgi_printf("<p class=\"generalError\">%h</p>", z);
360 }else{
361 fprintf(stderr, "%s: %s\n", g.argv[0], z);
362 }
363 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
365 /*
366 ** Return a name for an SQLite error code
367 */
368 static const char *sqlite_error_code_name(int iCode){
369
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359 cgi_printf("<p class=\"generalError\">%h</p>", z);
360 }else{
361 fprintf(stderr, "%s: %s\n", g.argv[0], z);
362 }
363 }
364
365 /*
366 ** Malloc and free routines that cannot fail
367 */
368 void *fossil_malloc(size_t n){
369 void *p = malloc(n);
370 if( p==0 ) fossil_panic("out of memory");
371 return p;
372 }
373 void fossil_free(void *p){
374 free(p);
375 }
376 void *fossil_realloc(void *p, size_t n){
377 p = realloc(p, n);
378 if( p==0 ) fossil_panic("out of memory");
379 return p;
380 }
381
382
383 /*
384 ** Return a name for an SQLite error code
385 */
386 static const char *sqlite_error_code_name(int iCode){
387
+18
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359359
cgi_printf("<p class=\"generalError\">%h</p>", z);
360360
}else{
361361
fprintf(stderr, "%s: %s\n", g.argv[0], z);
362362
}
363363
}
364
+
365
+/*
366
+** Malloc and free routines that cannot fail
367
+*/
368
+void *fossil_malloc(size_t n){
369
+ void *p = malloc(n);
370
+ if( p==0 ) fossil_panic("out of memory");
371
+ return p;
372
+}
373
+void fossil_free(void *p){
374
+ free(p);
375
+}
376
+void *fossil_realloc(void *p, size_t n){
377
+ p = realloc(p, n);
378
+ if( p==0 ) fossil_panic("out of memory");
379
+ return p;
380
+}
381
+
364382
365383
/*
366384
** Return a name for an SQLite error code
367385
*/
368386
static const char *sqlite_error_code_name(int iCode){
369387
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359 cgi_printf("<p class=\"generalError\">%h</p>", z);
360 }else{
361 fprintf(stderr, "%s: %s\n", g.argv[0], z);
362 }
363 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
365 /*
366 ** Return a name for an SQLite error code
367 */
368 static const char *sqlite_error_code_name(int iCode){
369
--- src/main.c
+++ src/main.c
@@ -359,10 +359,28 @@
359 cgi_printf("<p class=\"generalError\">%h</p>", z);
360 }else{
361 fprintf(stderr, "%s: %s\n", g.argv[0], z);
362 }
363 }
364
365 /*
366 ** Malloc and free routines that cannot fail
367 */
368 void *fossil_malloc(size_t n){
369 void *p = malloc(n);
370 if( p==0 ) fossil_panic("out of memory");
371 return p;
372 }
373 void fossil_free(void *p){
374 free(p);
375 }
376 void *fossil_realloc(void *p, size_t n){
377 p = realloc(p, n);
378 if( p==0 ) fossil_panic("out of memory");
379 return p;
380 }
381
382
383 /*
384 ** Return a name for an SQLite error code
385 */
386 static const char *sqlite_error_code_name(int iCode){
387
+16 -11
--- src/manifest.c
+++ src/manifest.c
@@ -201,10 +201,18 @@
201201
int seenHeader = 0;
202202
int seenZ = 0;
203203
int i, lineNo=0;
204204
Blob line, token, a1, a2, a3, a4;
205205
char cPrevType = 0;
206
+
207
+ /* Every control artifact ends with a '\n' character. Exit early
208
+ ** if that is not the case for this artifact. */
209
+ i = blob_size(pContent);
210
+ if( i<=0 || blob_buffer(pContent)[i-1]!='\n' ){
211
+ blob_reset(pContent);
212
+ return 0;
213
+ }
206214
207215
memset(p, 0, sizeof(*p));
208216
memcpy(&p->content, pContent, sizeof(p->content));
209217
blob_zero(pContent);
210218
pContent = &p->content;
@@ -364,12 +372,12 @@
364372
}else{
365373
zPriorName = 0;
366374
}
367375
if( p->nFile>=p->nFileAlloc ){
368376
p->nFileAlloc = p->nFileAlloc*2 + 10;
369
- p->aFile = realloc(p->aFile, p->nFileAlloc*sizeof(p->aFile[0]) );
370
- if( p->aFile==0 ) fossil_panic("out of memory");
377
+ p->aFile = fossil_realloc(p->aFile,
378
+ p->nFileAlloc*sizeof(p->aFile[0]) );
371379
}
372380
i = p->nFile++;
373381
p->aFile[i].zName = zName;
374382
p->aFile[i].zUuid = zUuid;
375383
p->aFile[i].zPerm = zPerm;
@@ -398,13 +406,12 @@
398406
zName = blob_terminate(&a1);
399407
zValue = blob_terminate(&a2);
400408
defossilize(zValue);
401409
if( p->nField>=p->nFieldAlloc ){
402410
p->nFieldAlloc = p->nFieldAlloc*2 + 10;
403
- p->aField = realloc(p->aField,
411
+ p->aField = fossil_realloc(p->aField,
404412
p->nFieldAlloc*sizeof(p->aField[0]) );
405
- if( p->aField==0 ) fossil_panic("out of memory");
406413
}
407414
i = p->nField++;
408415
p->aField[i].zName = zName;
409416
p->aField[i].zValue = zValue;
410417
if( i>0 && strcmp(p->aField[i-1].zName, zName)>=0 ){
@@ -464,13 +471,12 @@
464471
zUuid = blob_terminate(&a1);
465472
if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
466473
if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
467474
if( p->nCChild>=p->nCChildAlloc ){
468475
p->nCChildAlloc = p->nCChildAlloc*2 + 10;
469
- p->azCChild =
470
- realloc(p->azCChild, p->nCChildAlloc*sizeof(p->azCChild[0]) );
471
- if( p->azCChild==0 ) fossil_panic("out of memory");
476
+ p->azCChild = fossil_realloc(p->azCChild
477
+ , p->nCChildAlloc*sizeof(p->azCChild[0]) );
472478
}
473479
i = p->nCChild++;
474480
p->azCChild[i] = zUuid;
475481
if( i>0 && strcmp(p->azCChild[i-1], zUuid)>=0 ){
476482
goto manifest_syntax_error;
@@ -492,12 +498,12 @@
492498
if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
493499
zUuid = blob_terminate(&a1);
494500
if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
495501
if( p->nParent>=p->nParentAlloc ){
496502
p->nParentAlloc = p->nParentAlloc*2 + 5;
497
- p->azParent = realloc(p->azParent, p->nParentAlloc*sizeof(char*));
498
- if( p->azParent==0 ) fossil_panic("out of memory");
503
+ p->azParent = fossil_realloc(p->azParent,
504
+ p->nParentAlloc*sizeof(char*));
499505
}
500506
i = p->nParent++;
501507
p->azParent[i] = zUuid;
502508
}
503509
break;
@@ -567,12 +573,11 @@
567573
/* Do not allow tags whose names look like UUIDs */
568574
goto manifest_syntax_error;
569575
}
570576
if( p->nTag>=p->nTagAlloc ){
571577
p->nTagAlloc = p->nTagAlloc*2 + 10;
572
- p->aTag = realloc(p->aTag, p->nTagAlloc*sizeof(p->aTag[0]) );
573
- if( p->aTag==0 ) fossil_panic("out of memory");
578
+ p->aTag = fossil_realloc(p->aTag, p->nTagAlloc*sizeof(p->aTag[0]) );
574579
}
575580
i = p->nTag++;
576581
p->aTag[i].zName = zName;
577582
p->aTag[i].zUuid = zUuid;
578583
p->aTag[i].zValue = zValue;
579584
--- src/manifest.c
+++ src/manifest.c
@@ -201,10 +201,18 @@
201 int seenHeader = 0;
202 int seenZ = 0;
203 int i, lineNo=0;
204 Blob line, token, a1, a2, a3, a4;
205 char cPrevType = 0;
 
 
 
 
 
 
 
 
206
207 memset(p, 0, sizeof(*p));
208 memcpy(&p->content, pContent, sizeof(p->content));
209 blob_zero(pContent);
210 pContent = &p->content;
@@ -364,12 +372,12 @@
364 }else{
365 zPriorName = 0;
366 }
367 if( p->nFile>=p->nFileAlloc ){
368 p->nFileAlloc = p->nFileAlloc*2 + 10;
369 p->aFile = realloc(p->aFile, p->nFileAlloc*sizeof(p->aFile[0]) );
370 if( p->aFile==0 ) fossil_panic("out of memory");
371 }
372 i = p->nFile++;
373 p->aFile[i].zName = zName;
374 p->aFile[i].zUuid = zUuid;
375 p->aFile[i].zPerm = zPerm;
@@ -398,13 +406,12 @@
398 zName = blob_terminate(&a1);
399 zValue = blob_terminate(&a2);
400 defossilize(zValue);
401 if( p->nField>=p->nFieldAlloc ){
402 p->nFieldAlloc = p->nFieldAlloc*2 + 10;
403 p->aField = realloc(p->aField,
404 p->nFieldAlloc*sizeof(p->aField[0]) );
405 if( p->aField==0 ) fossil_panic("out of memory");
406 }
407 i = p->nField++;
408 p->aField[i].zName = zName;
409 p->aField[i].zValue = zValue;
410 if( i>0 && strcmp(p->aField[i-1].zName, zName)>=0 ){
@@ -464,13 +471,12 @@
464 zUuid = blob_terminate(&a1);
465 if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
466 if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
467 if( p->nCChild>=p->nCChildAlloc ){
468 p->nCChildAlloc = p->nCChildAlloc*2 + 10;
469 p->azCChild =
470 realloc(p->azCChild, p->nCChildAlloc*sizeof(p->azCChild[0]) );
471 if( p->azCChild==0 ) fossil_panic("out of memory");
472 }
473 i = p->nCChild++;
474 p->azCChild[i] = zUuid;
475 if( i>0 && strcmp(p->azCChild[i-1], zUuid)>=0 ){
476 goto manifest_syntax_error;
@@ -492,12 +498,12 @@
492 if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
493 zUuid = blob_terminate(&a1);
494 if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
495 if( p->nParent>=p->nParentAlloc ){
496 p->nParentAlloc = p->nParentAlloc*2 + 5;
497 p->azParent = realloc(p->azParent, p->nParentAlloc*sizeof(char*));
498 if( p->azParent==0 ) fossil_panic("out of memory");
499 }
500 i = p->nParent++;
501 p->azParent[i] = zUuid;
502 }
503 break;
@@ -567,12 +573,11 @@
567 /* Do not allow tags whose names look like UUIDs */
568 goto manifest_syntax_error;
569 }
570 if( p->nTag>=p->nTagAlloc ){
571 p->nTagAlloc = p->nTagAlloc*2 + 10;
572 p->aTag = realloc(p->aTag, p->nTagAlloc*sizeof(p->aTag[0]) );
573 if( p->aTag==0 ) fossil_panic("out of memory");
574 }
575 i = p->nTag++;
576 p->aTag[i].zName = zName;
577 p->aTag[i].zUuid = zUuid;
578 p->aTag[i].zValue = zValue;
579
--- src/manifest.c
+++ src/manifest.c
@@ -201,10 +201,18 @@
201 int seenHeader = 0;
202 int seenZ = 0;
203 int i, lineNo=0;
204 Blob line, token, a1, a2, a3, a4;
205 char cPrevType = 0;
206
207 /* Every control artifact ends with a '\n' character. Exit early
208 ** if that is not the case for this artifact. */
209 i = blob_size(pContent);
210 if( i<=0 || blob_buffer(pContent)[i-1]!='\n' ){
211 blob_reset(pContent);
212 return 0;
213 }
214
215 memset(p, 0, sizeof(*p));
216 memcpy(&p->content, pContent, sizeof(p->content));
217 blob_zero(pContent);
218 pContent = &p->content;
@@ -364,12 +372,12 @@
372 }else{
373 zPriorName = 0;
374 }
375 if( p->nFile>=p->nFileAlloc ){
376 p->nFileAlloc = p->nFileAlloc*2 + 10;
377 p->aFile = fossil_realloc(p->aFile,
378 p->nFileAlloc*sizeof(p->aFile[0]) );
379 }
380 i = p->nFile++;
381 p->aFile[i].zName = zName;
382 p->aFile[i].zUuid = zUuid;
383 p->aFile[i].zPerm = zPerm;
@@ -398,13 +406,12 @@
406 zName = blob_terminate(&a1);
407 zValue = blob_terminate(&a2);
408 defossilize(zValue);
409 if( p->nField>=p->nFieldAlloc ){
410 p->nFieldAlloc = p->nFieldAlloc*2 + 10;
411 p->aField = fossil_realloc(p->aField,
412 p->nFieldAlloc*sizeof(p->aField[0]) );
 
413 }
414 i = p->nField++;
415 p->aField[i].zName = zName;
416 p->aField[i].zValue = zValue;
417 if( i>0 && strcmp(p->aField[i-1].zName, zName)>=0 ){
@@ -464,13 +471,12 @@
471 zUuid = blob_terminate(&a1);
472 if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
473 if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
474 if( p->nCChild>=p->nCChildAlloc ){
475 p->nCChildAlloc = p->nCChildAlloc*2 + 10;
476 p->azCChild = fossil_realloc(p->azCChild
477 , p->nCChildAlloc*sizeof(p->azCChild[0]) );
 
478 }
479 i = p->nCChild++;
480 p->azCChild[i] = zUuid;
481 if( i>0 && strcmp(p->azCChild[i-1], zUuid)>=0 ){
482 goto manifest_syntax_error;
@@ -492,12 +498,12 @@
498 if( blob_size(&a1)!=UUID_SIZE ) goto manifest_syntax_error;
499 zUuid = blob_terminate(&a1);
500 if( !validate16(zUuid, UUID_SIZE) ) goto manifest_syntax_error;
501 if( p->nParent>=p->nParentAlloc ){
502 p->nParentAlloc = p->nParentAlloc*2 + 5;
503 p->azParent = fossil_realloc(p->azParent,
504 p->nParentAlloc*sizeof(char*));
505 }
506 i = p->nParent++;
507 p->azParent[i] = zUuid;
508 }
509 break;
@@ -567,12 +573,11 @@
573 /* Do not allow tags whose names look like UUIDs */
574 goto manifest_syntax_error;
575 }
576 if( p->nTag>=p->nTagAlloc ){
577 p->nTagAlloc = p->nTagAlloc*2 + 10;
578 p->aTag = fossil_realloc(p->aTag, p->nTagAlloc*sizeof(p->aTag[0]) );
 
579 }
580 i = p->nTag++;
581 p->aTag[i].zName = zName;
582 p->aTag[i].zUuid = zUuid;
583 p->aTag[i].zValue = zValue;
584
+1 -1
--- src/pqueue.c
+++ src/pqueue.c
@@ -62,11 +62,11 @@
6262
6363
/*
6464
** Change the size of the queue so that it contains N slots
6565
*/
6666
static void pqueue_resize(PQueue *p, int N){
67
- p->a = realloc(p->a, sizeof(p->a[0])*N);
67
+ p->a = fossil_realloc(p->a, sizeof(p->a[0])*N);
6868
p->sz = N;
6969
}
7070
7171
/*
7272
** Insert element e into the queue.
7373
--- src/pqueue.c
+++ src/pqueue.c
@@ -62,11 +62,11 @@
62
63 /*
64 ** Change the size of the queue so that it contains N slots
65 */
66 static void pqueue_resize(PQueue *p, int N){
67 p->a = realloc(p->a, sizeof(p->a[0])*N);
68 p->sz = N;
69 }
70
71 /*
72 ** Insert element e into the queue.
73
--- src/pqueue.c
+++ src/pqueue.c
@@ -62,11 +62,11 @@
62
63 /*
64 ** Change the size of the queue so that it contains N slots
65 */
66 static void pqueue_resize(PQueue *p, int N){
67 p->a = fossil_realloc(p->a, sizeof(p->a[0])*N);
68 p->sz = N;
69 }
70
71 /*
72 ** Insert element e into the queue.
73
+3 -4
--- src/printf.c
+++ src/printf.c
@@ -560,11 +560,11 @@
560560
int i;
561561
int limit = flag_alternateform ? va_arg(ap,int) : -1;
562562
char *e = va_arg(ap,char*);
563563
if( e==0 ){e="";}
564564
length = StrNLen32(e, limit);
565
- zExtra = bufpt = malloc(length+1);
565
+ zExtra = bufpt = fossil_malloc(length+1);
566566
for( i=0; i<length; i++ ){
567567
if( e[i]=='\\' ){
568568
bufpt[i]='/';
569569
}else{
570570
bufpt[i]=e[i];
@@ -605,11 +605,11 @@
605605
int i, j, n, cnt;
606606
n = blob_size(pBlob);
607607
if( limit>=0 && limit<n ) n = limit;
608608
for(cnt=i=0; i<n; i++){ if( zOrig[i]=='\'' ) cnt++; }
609609
if( n+cnt+2 > etBUFSIZE ){
610
- bufpt = zExtra = malloc( n + cnt + 2 );
610
+ bufpt = zExtra = fossil_malloc( n + cnt + 2 );
611611
}else{
612612
bufpt = buf;
613613
}
614614
bufpt[0] = '\'';
615615
for(i=0, j=1; i<n; i++, j++){
@@ -634,12 +634,11 @@
634634
if( escarg[i]=='\'' ) n++;
635635
}
636636
needQuote = !isnull && xtype==etSQLESCAPE2;
637637
n += i + 1 + needQuote*2;
638638
if( n>etBUFSIZE ){
639
- bufpt = zExtra = malloc( n );
640
- if( bufpt==0 ) return -1;
639
+ bufpt = zExtra = fossil_malloc( n );
641640
}else{
642641
bufpt = buf;
643642
}
644643
j = 0;
645644
if( needQuote ) bufpt[j++] = '\'';
646645
--- src/printf.c
+++ src/printf.c
@@ -560,11 +560,11 @@
560 int i;
561 int limit = flag_alternateform ? va_arg(ap,int) : -1;
562 char *e = va_arg(ap,char*);
563 if( e==0 ){e="";}
564 length = StrNLen32(e, limit);
565 zExtra = bufpt = malloc(length+1);
566 for( i=0; i<length; i++ ){
567 if( e[i]=='\\' ){
568 bufpt[i]='/';
569 }else{
570 bufpt[i]=e[i];
@@ -605,11 +605,11 @@
605 int i, j, n, cnt;
606 n = blob_size(pBlob);
607 if( limit>=0 && limit<n ) n = limit;
608 for(cnt=i=0; i<n; i++){ if( zOrig[i]=='\'' ) cnt++; }
609 if( n+cnt+2 > etBUFSIZE ){
610 bufpt = zExtra = malloc( n + cnt + 2 );
611 }else{
612 bufpt = buf;
613 }
614 bufpt[0] = '\'';
615 for(i=0, j=1; i<n; i++, j++){
@@ -634,12 +634,11 @@
634 if( escarg[i]=='\'' ) n++;
635 }
636 needQuote = !isnull && xtype==etSQLESCAPE2;
637 n += i + 1 + needQuote*2;
638 if( n>etBUFSIZE ){
639 bufpt = zExtra = malloc( n );
640 if( bufpt==0 ) return -1;
641 }else{
642 bufpt = buf;
643 }
644 j = 0;
645 if( needQuote ) bufpt[j++] = '\'';
646
--- src/printf.c
+++ src/printf.c
@@ -560,11 +560,11 @@
560 int i;
561 int limit = flag_alternateform ? va_arg(ap,int) : -1;
562 char *e = va_arg(ap,char*);
563 if( e==0 ){e="";}
564 length = StrNLen32(e, limit);
565 zExtra = bufpt = fossil_malloc(length+1);
566 for( i=0; i<length; i++ ){
567 if( e[i]=='\\' ){
568 bufpt[i]='/';
569 }else{
570 bufpt[i]=e[i];
@@ -605,11 +605,11 @@
605 int i, j, n, cnt;
606 n = blob_size(pBlob);
607 if( limit>=0 && limit<n ) n = limit;
608 for(cnt=i=0; i<n; i++){ if( zOrig[i]=='\'' ) cnt++; }
609 if( n+cnt+2 > etBUFSIZE ){
610 bufpt = zExtra = fossil_malloc( n + cnt + 2 );
611 }else{
612 bufpt = buf;
613 }
614 bufpt[0] = '\'';
615 for(i=0, j=1; i<n; i++, j++){
@@ -634,12 +634,11 @@
634 if( escarg[i]=='\'' ) n++;
635 }
636 needQuote = !isnull && xtype==etSQLESCAPE2;
637 n += i + 1 + needQuote*2;
638 if( n>etBUFSIZE ){
639 bufpt = zExtra = fossil_malloc( n );
 
640 }else{
641 bufpt = buf;
642 }
643 j = 0;
644 if( needQuote ) bufpt[j++] = '\'';
645
+1 -2
--- src/search.c
+++ src/search.c
@@ -42,12 +42,11 @@
4242
int nPattern = strlen(zPattern);
4343
Search *p;
4444
char *z;
4545
int i;
4646
47
- p = malloc( nPattern + sizeof(*p) + 1);
48
- if( p==0 ) fossil_panic("out of memory");
47
+ p = fossil_malloc( nPattern + sizeof(*p) + 1);
4948
z = (char*)&p[1];
5049
strcpy(z, zPattern);
5150
memset(p, 0, sizeof(*p));
5251
while( *z && p->nTerm<sizeof(p->a)/sizeof(p->a[0]) ){
5352
while( !fossil_isalnum(*z) && *z ){ z++; }
5453
--- src/search.c
+++ src/search.c
@@ -42,12 +42,11 @@
42 int nPattern = strlen(zPattern);
43 Search *p;
44 char *z;
45 int i;
46
47 p = malloc( nPattern + sizeof(*p) + 1);
48 if( p==0 ) fossil_panic("out of memory");
49 z = (char*)&p[1];
50 strcpy(z, zPattern);
51 memset(p, 0, sizeof(*p));
52 while( *z && p->nTerm<sizeof(p->a)/sizeof(p->a[0]) ){
53 while( !fossil_isalnum(*z) && *z ){ z++; }
54
--- src/search.c
+++ src/search.c
@@ -42,12 +42,11 @@
42 int nPattern = strlen(zPattern);
43 Search *p;
44 char *z;
45 int i;
46
47 p = fossil_malloc( nPattern + sizeof(*p) + 1);
 
48 z = (char*)&p[1];
49 strcpy(z, zPattern);
50 memset(p, 0, sizeof(*p));
51 while( *z && p->nTerm<sizeof(p->a)/sizeof(p->a[0]) ){
52 while( !fossil_isalnum(*z) && *z ){ z++; }
53
+1 -1
--- src/th_main.c
+++ src/th_main.c
@@ -30,11 +30,11 @@
3030
3131
/*
3232
** Implementations of malloc() and free() to pass to the interpreter.
3333
*/
3434
static void *xMalloc(unsigned int n){
35
- void *p = malloc(n);
35
+ void *p = fossil_malloc(n);
3636
if( p ){
3737
nOutstandingMalloc++;
3838
}
3939
return p;
4040
}
4141
--- src/th_main.c
+++ src/th_main.c
@@ -30,11 +30,11 @@
30
31 /*
32 ** Implementations of malloc() and free() to pass to the interpreter.
33 */
34 static void *xMalloc(unsigned int n){
35 void *p = malloc(n);
36 if( p ){
37 nOutstandingMalloc++;
38 }
39 return p;
40 }
41
--- src/th_main.c
+++ src/th_main.c
@@ -30,11 +30,11 @@
30
31 /*
32 ** Implementations of malloc() and free() to pass to the interpreter.
33 */
34 static void *xMalloc(unsigned int n){
35 void *p = fossil_malloc(n);
36 if( p ){
37 nOutstandingMalloc++;
38 }
39 return p;
40 }
41
+1 -4
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
5353
db_prepare(&q, "PRAGMA table_info(ticket)");
5454
while( db_step(&q)==SQLITE_ROW ){
5555
const char *zField = db_column_text(&q, 1);
5656
if( strncmp(zField,"tkt_",4)==0 ) continue;
5757
if( nField%10==0 ){
58
- azField = realloc(azField, sizeof(azField)*3*(nField+10) );
59
- if( azField==0 ){
60
- fossil_fatal("out of memory");
61
- }
58
+ azField = fossil_realloc(azField, sizeof(azField)*3*(nField+10) );
6259
}
6360
azField[nField] = mprintf("%s", zField);
6461
nField++;
6562
}
6663
db_finalize(&q);
6764
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
53 db_prepare(&q, "PRAGMA table_info(ticket)");
54 while( db_step(&q)==SQLITE_ROW ){
55 const char *zField = db_column_text(&q, 1);
56 if( strncmp(zField,"tkt_",4)==0 ) continue;
57 if( nField%10==0 ){
58 azField = realloc(azField, sizeof(azField)*3*(nField+10) );
59 if( azField==0 ){
60 fossil_fatal("out of memory");
61 }
62 }
63 azField[nField] = mprintf("%s", zField);
64 nField++;
65 }
66 db_finalize(&q);
67
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
53 db_prepare(&q, "PRAGMA table_info(ticket)");
54 while( db_step(&q)==SQLITE_ROW ){
55 const char *zField = db_column_text(&q, 1);
56 if( strncmp(zField,"tkt_",4)==0 ) continue;
57 if( nField%10==0 ){
58 azField = fossil_realloc(azField, sizeof(azField)*3*(nField+10) );
 
 
 
59 }
60 azField[nField] = mprintf("%s", zField);
61 nField++;
62 }
63 db_finalize(&q);
64
+1 -4
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
5353
db_prepare(&q, "PRAGMA table_info(ticket)");
5454
while( db_step(&q)==SQLITE_ROW ){
5555
const char *zField = db_column_text(&q, 1);
5656
if( strncmp(zField,"tkt_",4)==0 ) continue;
5757
if( nField%10==0 ){
58
- azField = realloc(azField, sizeof(azField)*3*(nField+10) );
59
- if( azField==0 ){
60
- fossil_fatal("out of memory");
61
- }
58
+ azField = fossil_realloc(azField, sizeof(azField)*3*(nField+10) );
6259
}
6360
azField[nField] = mprintf("%s", zField);
6461
nField++;
6562
}
6663
db_finalize(&q);
6764
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
53 db_prepare(&q, "PRAGMA table_info(ticket)");
54 while( db_step(&q)==SQLITE_ROW ){
55 const char *zField = db_column_text(&q, 1);
56 if( strncmp(zField,"tkt_",4)==0 ) continue;
57 if( nField%10==0 ){
58 azField = realloc(azField, sizeof(azField)*3*(nField+10) );
59 if( azField==0 ){
60 fossil_fatal("out of memory");
61 }
62 }
63 azField[nField] = mprintf("%s", zField);
64 nField++;
65 }
66 db_finalize(&q);
67
--- src/tkt.c
+++ src/tkt.c
@@ -53,14 +53,11 @@
53 db_prepare(&q, "PRAGMA table_info(ticket)");
54 while( db_step(&q)==SQLITE_ROW ){
55 const char *zField = db_column_text(&q, 1);
56 if( strncmp(zField,"tkt_",4)==0 ) continue;
57 if( nField%10==0 ){
58 azField = fossil_realloc(azField, sizeof(azField)*3*(nField+10) );
 
 
 
59 }
60 azField[nField] = mprintf("%s", zField);
61 nField++;
62 }
63 db_finalize(&q);
64
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -838,14 +838,11 @@
838838
** if necessary.
839839
*/
840840
static void pushStackWithId(Renderer *p, int elem, const char *zId, int w){
841841
if( p->nStack>=p->nAlloc ){
842842
p->nAlloc = p->nAlloc*2 + 100;
843
- p->aStack = realloc(p->aStack, p->nAlloc*sizeof(p->aStack[0]));
844
- if( p->aStack==0 ){
845
- fossil_panic("out of memory");
846
- }
843
+ p->aStack = fossil_realloc(p->aStack, p->nAlloc*sizeof(p->aStack[0]));
847844
}
848845
p->aStack[p->nStack].iCode = elem;
849846
p->aStack[p->nStack].zId = zId;
850847
p->aStack[p->nStack].allowWiki = w;
851848
p->nStack++;
852849
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -838,14 +838,11 @@
838 ** if necessary.
839 */
840 static void pushStackWithId(Renderer *p, int elem, const char *zId, int w){
841 if( p->nStack>=p->nAlloc ){
842 p->nAlloc = p->nAlloc*2 + 100;
843 p->aStack = realloc(p->aStack, p->nAlloc*sizeof(p->aStack[0]));
844 if( p->aStack==0 ){
845 fossil_panic("out of memory");
846 }
847 }
848 p->aStack[p->nStack].iCode = elem;
849 p->aStack[p->nStack].zId = zId;
850 p->aStack[p->nStack].allowWiki = w;
851 p->nStack++;
852
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -838,14 +838,11 @@
838 ** if necessary.
839 */
840 static void pushStackWithId(Renderer *p, int elem, const char *zId, int w){
841 if( p->nStack>=p->nAlloc ){
842 p->nAlloc = p->nAlloc*2 + 100;
843 p->aStack = fossil_realloc(p->aStack, p->nAlloc*sizeof(p->aStack[0]));
 
 
 
844 }
845 p->aStack[p->nStack].iCode = elem;
846 p->aStack[p->nStack].zId = zId;
847 p->aStack[p->nStack].allowWiki = w;
848 p->nStack++;
849
+2 -5
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109109
wanted -= got;
110110
}
111111
fclose(out);
112112
out = 0;
113113
sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114
- g.argv[0], g.zRepositoryName, zRequestFName, zReplyFName,
114
+ _pgmptr, g.zRepositoryName, zRequestFName, zReplyFName,
115115
inet_ntoa(p->addr.sin_addr), p->zNotFound
116116
);
117117
if( g.fHttpTrace ){
118118
fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119119
}
@@ -220,14 +220,11 @@
220220
}
221221
if( client==INVALID_SOCKET ){
222222
closesocket(s);
223223
fossil_fatal("error from accept()");
224224
}
225
- p = malloc( sizeof(*p) );
226
- if( p==0 ){
227
- fossil_fatal("out of memory");
228
- }
225
+ p = fossil_malloc( sizeof(*p) );
229226
p->id = ++idCnt;
230227
p->s = client;
231228
p->addr = client_addr;
232229
p->zNotFound = zNotFoundOption;
233230
if( g.fHttpTrace ){
234231
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109 wanted -= got;
110 }
111 fclose(out);
112 out = 0;
113 sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114 g.argv[0], g.zRepositoryName, zRequestFName, zReplyFName,
115 inet_ntoa(p->addr.sin_addr), p->zNotFound
116 );
117 if( g.fHttpTrace ){
118 fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119 }
@@ -220,14 +220,11 @@
220 }
221 if( client==INVALID_SOCKET ){
222 closesocket(s);
223 fossil_fatal("error from accept()");
224 }
225 p = malloc( sizeof(*p) );
226 if( p==0 ){
227 fossil_fatal("out of memory");
228 }
229 p->id = ++idCnt;
230 p->s = client;
231 p->addr = client_addr;
232 p->zNotFound = zNotFoundOption;
233 if( g.fHttpTrace ){
234
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109 wanted -= got;
110 }
111 fclose(out);
112 out = 0;
113 sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114 _pgmptr, g.zRepositoryName, zRequestFName, zReplyFName,
115 inet_ntoa(p->addr.sin_addr), p->zNotFound
116 );
117 if( g.fHttpTrace ){
118 fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119 }
@@ -220,14 +220,11 @@
220 }
221 if( client==INVALID_SOCKET ){
222 closesocket(s);
223 fossil_fatal("error from accept()");
224 }
225 p = fossil_malloc( sizeof(*p) );
 
 
 
226 p->id = ++idCnt;
227 p->s = client;
228 p->addr = client_addr;
229 p->zNotFound = zNotFoundOption;
230 if( g.fHttpTrace ){
231
+2 -5
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109109
wanted -= got;
110110
}
111111
fclose(out);
112112
out = 0;
113113
sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114
- g.argv[0], g.zRepositoryName, zRequestFName, zReplyFName,
114
+ _pgmptr, g.zRepositoryName, zRequestFName, zReplyFName,
115115
inet_ntoa(p->addr.sin_addr), p->zNotFound
116116
);
117117
if( g.fHttpTrace ){
118118
fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119119
}
@@ -220,14 +220,11 @@
220220
}
221221
if( client==INVALID_SOCKET ){
222222
closesocket(s);
223223
fossil_fatal("error from accept()");
224224
}
225
- p = malloc( sizeof(*p) );
226
- if( p==0 ){
227
- fossil_fatal("out of memory");
228
- }
225
+ p = fossil_malloc( sizeof(*p) );
229226
p->id = ++idCnt;
230227
p->s = client;
231228
p->addr = client_addr;
232229
p->zNotFound = zNotFoundOption;
233230
if( g.fHttpTrace ){
234231
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109 wanted -= got;
110 }
111 fclose(out);
112 out = 0;
113 sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114 g.argv[0], g.zRepositoryName, zRequestFName, zReplyFName,
115 inet_ntoa(p->addr.sin_addr), p->zNotFound
116 );
117 if( g.fHttpTrace ){
118 fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119 }
@@ -220,14 +220,11 @@
220 }
221 if( client==INVALID_SOCKET ){
222 closesocket(s);
223 fossil_fatal("error from accept()");
224 }
225 p = malloc( sizeof(*p) );
226 if( p==0 ){
227 fossil_fatal("out of memory");
228 }
229 p->id = ++idCnt;
230 p->s = client;
231 p->addr = client_addr;
232 p->zNotFound = zNotFoundOption;
233 if( g.fHttpTrace ){
234
--- src/winhttp.c
+++ src/winhttp.c
@@ -109,11 +109,11 @@
109 wanted -= got;
110 }
111 fclose(out);
112 out = 0;
113 sprintf(zCmd, "\"%s\" http \"%s\" %s %s %s%s",
114 _pgmptr, g.zRepositoryName, zRequestFName, zReplyFName,
115 inet_ntoa(p->addr.sin_addr), p->zNotFound
116 );
117 if( g.fHttpTrace ){
118 fprintf(stderr,"HTTPTRACE(%p): calling '%s'\n",pAppData,zCmd);
119 }
@@ -220,14 +220,11 @@
220 }
221 if( client==INVALID_SOCKET ){
222 closesocket(s);
223 fossil_fatal("error from accept()");
224 }
225 p = fossil_malloc( sizeof(*p) );
 
 
 
226 p->id = ++idCnt;
227 p->s = client;
228 p->addr = client_addr;
229 p->zNotFound = zNotFoundOption;
230 if( g.fHttpTrace ){
231
+1 -1
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102102
for(j=0; j<nDir; j++){
103103
if( strcmp(zName, azDir[j])==0 ) break;
104104
}
105105
if( j>=nDir ){
106106
nDir++;
107
- azDir = realloc(azDir, sizeof(azDir[0])*nDir);
107
+ azDir = fossil_realloc(azDir, sizeof(azDir[0])*nDir);
108108
azDir[j] = mprintf("%s", zName);
109109
zip_add_file(zName, 0);
110110
}
111111
zName[i+1] = c;
112112
}
113113
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102 for(j=0; j<nDir; j++){
103 if( strcmp(zName, azDir[j])==0 ) break;
104 }
105 if( j>=nDir ){
106 nDir++;
107 azDir = realloc(azDir, sizeof(azDir[0])*nDir);
108 azDir[j] = mprintf("%s", zName);
109 zip_add_file(zName, 0);
110 }
111 zName[i+1] = c;
112 }
113
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102 for(j=0; j<nDir; j++){
103 if( strcmp(zName, azDir[j])==0 ) break;
104 }
105 if( j>=nDir ){
106 nDir++;
107 azDir = fossil_realloc(azDir, sizeof(azDir[0])*nDir);
108 azDir[j] = mprintf("%s", zName);
109 zip_add_file(zName, 0);
110 }
111 zName[i+1] = c;
112 }
113
+1 -1
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102102
for(j=0; j<nDir; j++){
103103
if( strcmp(zName, azDir[j])==0 ) break;
104104
}
105105
if( j>=nDir ){
106106
nDir++;
107
- azDir = realloc(azDir, sizeof(azDir[0])*nDir);
107
+ azDir = fossil_realloc(azDir, sizeof(azDir[0])*nDir);
108108
azDir[j] = mprintf("%s", zName);
109109
zip_add_file(zName, 0);
110110
}
111111
zName[i+1] = c;
112112
}
113113
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102 for(j=0; j<nDir; j++){
103 if( strcmp(zName, azDir[j])==0 ) break;
104 }
105 if( j>=nDir ){
106 nDir++;
107 azDir = realloc(azDir, sizeof(azDir[0])*nDir);
108 azDir[j] = mprintf("%s", zName);
109 zip_add_file(zName, 0);
110 }
111 zName[i+1] = c;
112 }
113
--- src/zip.c
+++ src/zip.c
@@ -102,11 +102,11 @@
102 for(j=0; j<nDir; j++){
103 if( strcmp(zName, azDir[j])==0 ) break;
104 }
105 if( j>=nDir ){
106 nDir++;
107 azDir = fossil_realloc(azDir, sizeof(azDir[0])*nDir);
108 azDir[j] = mprintf("%s", zName);
109 zip_add_file(zName, 0);
110 }
111 zName[i+1] = c;
112 }
113

Keyboard Shortcuts

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