Browse code

downgrade some error messages (bb#911, bb#798)

git-svn: trunk@3760

Tomasz Kojm authored on 2008/04/07 18:56:56
Showing 3 changed files
... ...
@@ -1,3 +1,7 @@
1
+Mon Apr  7 11:15:49 CEST 2008 (tk)
2
+----------------------------------
3
+  * libclamav/chmunpack.c,cab.c: downgrade some error messages (bb#911, bb#798)
4
+
1 5
 Sun Apr  6 12:33:25 CEST 2008 (acab)
2 6
 ------------------------------------
3 7
   * libclamav/pe.c: make petite softfail as it's really reading unaligned data
... ...
@@ -122,7 +122,8 @@ static char *cab_readstr(int fd, int *ret)
122 122
     }
123 123
 
124 124
     if(lseek(fd, (off_t) (pos + i + 1), SEEK_SET) == -1) {
125
-	*ret = CL_EIO;
125
+	/* *ret = CL_EIO; */
126
+	*ret = CL_EFORMAT; /* most likely a corrupted file */
126 127
 	return NULL;
127 128
     }
128 129
 
... ...
@@ -209,7 +210,8 @@ int cab_open(int fd, off_t offset, struct cab_archive *cab)
209 209
 
210 210
     if(cli_readn(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) {
211 211
 	cli_dbgmsg("cab_open: Can't read cabinet header\n");
212
-	return CL_EIO;
212
+	/* return CL_EIO; */
213
+	return CL_EFORMAT; /* most likely a corrupted file */
213 214
     }
214 215
 
215 216
     if(EC32(hdr.signature) != 0x4643534d) {
... ...
@@ -268,7 +270,8 @@ int cab_open(int fd, off_t offset, struct cab_archive *cab)
268 268
     if(cab->flags & 0x0004) {
269 269
 	if(cli_readn(fd, &hdr_opt, sizeof(hdr_opt)) != sizeof(hdr_opt)) {
270 270
 	    cli_dbgmsg("cab_open: Can't read file header (fake cab?)\n");
271
-	    return CL_EIO;
271
+	    /* return CL_EIO; */
272
+	    return CL_EFORMAT; /* most likely a corrupted file */
272 273
 	}
273 274
 
274 275
 	cab->reshdr = EC16(hdr_opt.cbCFHeader);
... ...
@@ -278,7 +281,8 @@ int cab_open(int fd, off_t offset, struct cab_archive *cab)
278 278
 	if(cab->reshdr) {
279 279
 	    if(lseek(fd, cab->reshdr, SEEK_CUR) == -1) {
280 280
 		cli_dbgmsg("cab_open: Can't lseek to %u (fake cab?)\n", cab->reshdr);
281
-		return CL_EIO;
281
+		/* return CL_EIO; */
282
+		return CL_EFORMAT; /* most likely a corrupted file */
282 283
 	    }
283 284
 	}
284 285
     }
... ...
@@ -336,14 +340,16 @@ int cab_open(int fd, off_t offset, struct cab_archive *cab)
336 336
 	if(cli_readn(fd, &folder_hdr, sizeof(folder_hdr)) != sizeof(folder_hdr)) {
337 337
 	    cli_errmsg("cab_open: Can't read header for folder %u\n", i);
338 338
 	    cab_free(cab);
339
-	    return CL_EIO;
339
+	    /* return CL_EIO; */
340
+	    return CL_EFORMAT; /* most likely a corrupted file */
340 341
 	}
341 342
 
342 343
 	if(resfold) {
343 344
 	    if(lseek(fd, resfold, SEEK_CUR) == -1) {
344 345
 		cli_errmsg("cab_open: Can't lseek to %u (resfold)\n", (unsigned int) resfold);
345 346
 		cab_free(cab);
346
-		return CL_EIO;
347
+		/* return CL_EIO; */
348
+		return CL_EFORMAT; /* most likely a corrupted file */
347 349
 	    }
348 350
 	}
349 351
 
... ...
@@ -392,7 +398,8 @@ int cab_open(int fd, off_t offset, struct cab_archive *cab)
392 392
 	if(cli_readn(fd, &file_hdr, sizeof(file_hdr)) != sizeof(file_hdr)) {
393 393
 	    cli_errmsg("cab_open: Can't read file %u header\n", i);
394 394
 	    cab_free(cab);
395
-	    return CL_EIO;
395
+	    /* return CL_EIO; */
396
+	    return CL_EFORMAT; /* most likely a corrupted file */
396 397
 	}
397 398
 
398 399
 	file = (struct cab_file *) cli_calloc(1, sizeof(struct cab_file));
... ...
@@ -483,12 +490,14 @@ static int cab_read_block(int fd, struct cab_state *state, uint16_t resdata)
483 483
 
484 484
     if(cli_readn(fd, &block_hdr, sizeof(block_hdr)) != sizeof(block_hdr)) {
485 485
 	cli_dbgmsg("cab_read_block: Can't read block header\n");
486
-	return CL_EIO;
486
+	/* return CL_EIO; */
487
+	return CL_EFORMAT; /* most likely a corrupted file */
487 488
     }
488 489
 
489 490
     if(resdata && lseek(fd, (off_t) resdata, SEEK_CUR) == -1) {
490 491
 	cli_dbgmsg("cab_read_block: lseek failed\n");
491
-	return CL_EIO;
492
+	/* return CL_EIO; */
493
+	return CL_EFORMAT; /* most likely a corrupted file */
492 494
     }
493 495
 
494 496
     state->blklen = EC16(block_hdr.cbData);
... ...
@@ -506,7 +515,8 @@ static int cab_read_block(int fd, struct cab_state *state, uint16_t resdata)
506 506
 
507 507
     if(cli_readn(fd, state->block, state->blklen) != state->blklen) {
508 508
 	cli_dbgmsg("cab_read_block: Can't read block data\n");
509
-	return CL_EIO;
509
+	/* return CL_EIO; */
510
+	return CL_EFORMAT; /* most likely a corrupted file */
510 511
     }
511 512
 
512 513
     state->pt = state->end = state->block;
... ...
@@ -825,7 +825,8 @@ int cli_chm_extract_file(int fd, char *dirname, chm_metadata_t *metadata)
825 825
 	if (chm_copy_file_data(metadata->ufd, metadata->ofd, metadata->file_length) != metadata->file_length) {
826 826
 		cli_dbgmsg("failed to copy %lu bytes\n", (unsigned long int) metadata->file_length);
827 827
 		close(metadata->ofd);
828
-		return CL_EIO;
828
+		/* return CL_EIO; */
829
+		return CL_EFORMAT; /* most likely a corrupted file */
829 830
 	}
830 831
 		
831 832
 	return CL_SUCCESS;