git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@542 77e5149b-7576-45b1-b177-96237e5ba77b
Trog authored on 2004/05/07 00:21:33... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Thu May 6 16:22:32 BST 2004 (trog) |
|
2 |
+----------------------------------- |
|
3 |
+ * libclamav/vba_extract.c: Fix fd leak in Word6 macro code. |
|
4 |
+ |
|
1 | 5 |
Thu May 6 12:27:03 BST 2004 (njh) |
2 | 6 |
---------------------------------- |
3 | 7 |
* libclamav/mbox.c: Ensure all attachements marked as RFC822 emails will |
... | ... |
@@ -1205,12 +1205,14 @@ vba_project_t *wm_dir_read(const char *dir) |
1205 | 1205 |
} |
1206 | 1206 |
|
1207 | 1207 |
if (!wm_read_fib(fd, &fib)) { |
1208 |
+ close(fd); |
|
1208 | 1209 |
return NULL; |
1209 | 1210 |
} |
1210 | 1211 |
wm_print_fib(&fib); |
1211 | 1212 |
|
1212 | 1213 |
if (lseek(fd, fib.macro_offset, SEEK_SET) != fib.macro_offset) { |
1213 | 1214 |
cli_dbgmsg("lseek macro_offset failed\n"); |
1215 |
+ close(fd); |
|
1214 | 1216 |
return NULL; |
1215 | 1217 |
} |
1216 | 1218 |
|
... | ... |
@@ -1218,6 +1220,7 @@ vba_project_t *wm_dir_read(const char *dir) |
1218 | 1218 |
|
1219 | 1219 |
if (cli_readn(fd, &start_id, 1) != 1) { |
1220 | 1220 |
cli_dbgmsg("read start_id failed\n"); |
1221 |
+ close(fd); |
|
1221 | 1222 |
return NULL; |
1222 | 1223 |
} |
1223 | 1224 |
cli_dbgmsg("start_id: %d\n", start_id); |
... | ... |
@@ -1225,6 +1228,7 @@ vba_project_t *wm_dir_read(const char *dir) |
1225 | 1225 |
while ((lseek(fd, 0, SEEK_CUR) < end_offset) && !done) { |
1226 | 1226 |
if (cli_readn(fd, &info_id, 1) != 1) { |
1227 | 1227 |
cli_dbgmsg("read macro_info failed\n"); |
1228 |
+ close(fd); |
|
1228 | 1229 |
return NULL; |
1229 | 1230 |
} |
1230 | 1231 |
switch (info_id) { |
... | ... |
@@ -1337,6 +1341,7 @@ abort: |
1337 | 1337 |
if (macro_intnames) { |
1338 | 1338 |
wm_free_intnames(macro_intnames); |
1339 | 1339 |
} |
1340 |
+ close(fd); |
|
1340 | 1341 |
return vba_project; |
1341 | 1342 |
} |
1342 | 1343 |
|