Fossil SCM

Fix a memory allocation bug in the ZIP archive generator. Ticket [8d6efe4f927]

drh 2009-08-15 13:21 trunk
Commit 5b91887495c357fe2cae15e5ef268e904304bc0c
1 file changed +3 -3
+3 -3
--- src/zip.c
+++ src/zip.c
@@ -108,12 +108,12 @@
108108
for(j=0; j<nDir; j++){
109109
if( strcmp(zName, azDir[j])==0 ) break;
110110
}
111111
if( j>=nDir ){
112112
nDir++;
113
- azDir = realloc(azDir, nDir);
114
- azDir[j] = sqlite3_mprintf("%s", zName);
113
+ azDir = realloc(azDir, sizeof(azDir[0])*nDir);
114
+ azDir[j] = mprintf("%s", zName);
115115
zip_add_file(zName, 0);
116116
}
117117
zName[i+1] = c;
118118
}
119119
}
@@ -286,11 +286,11 @@
286286
blob_reset(&toc);
287287
*pZip = body;
288288
blob_zero(&body);
289289
nEntry = 0;
290290
for(i=0; i<nDir; i++){
291
- sqlite3_free(azDir[i]);
291
+ free(azDir[i]);
292292
}
293293
free(azDir);
294294
nDir = 0;
295295
azDir = 0;
296296
}
297297
--- src/zip.c
+++ src/zip.c
@@ -108,12 +108,12 @@
108 for(j=0; j<nDir; j++){
109 if( strcmp(zName, azDir[j])==0 ) break;
110 }
111 if( j>=nDir ){
112 nDir++;
113 azDir = realloc(azDir, nDir);
114 azDir[j] = sqlite3_mprintf("%s", zName);
115 zip_add_file(zName, 0);
116 }
117 zName[i+1] = c;
118 }
119 }
@@ -286,11 +286,11 @@
286 blob_reset(&toc);
287 *pZip = body;
288 blob_zero(&body);
289 nEntry = 0;
290 for(i=0; i<nDir; i++){
291 sqlite3_free(azDir[i]);
292 }
293 free(azDir);
294 nDir = 0;
295 azDir = 0;
296 }
297
--- src/zip.c
+++ src/zip.c
@@ -108,12 +108,12 @@
108 for(j=0; j<nDir; j++){
109 if( strcmp(zName, azDir[j])==0 ) break;
110 }
111 if( j>=nDir ){
112 nDir++;
113 azDir = realloc(azDir, sizeof(azDir[0])*nDir);
114 azDir[j] = mprintf("%s", zName);
115 zip_add_file(zName, 0);
116 }
117 zName[i+1] = c;
118 }
119 }
@@ -286,11 +286,11 @@
286 blob_reset(&toc);
287 *pZip = body;
288 blob_zero(&body);
289 nEntry = 0;
290 for(i=0; i<nDir; i++){
291 free(azDir[i]);
292 }
293 free(azDir);
294 nDir = 0;
295 azDir = 0;
296 }
297

Keyboard Shortcuts

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