summaryrefslogtreecommitdiffstats
path: root/src/partmac.c
diff options
context:
space:
mode:
authorChristophe Grenier <grenier@cgsecurity.org>2007-12-05 00:13:21 +0100
committerChristophe Grenier <grenier@cgsecurity.org>2007-12-05 00:13:21 +0100
commit980ff85c3050ff15bf8e473ead40c24dba4b4353 (patch)
tree58893c37a9f1e8d5233a7e5e372e0568f8848795 /src/partmac.c
parent1bdf5e342ac5cc669e96bc22f63d134f8b8f0b51 (diff)
Handle Mac partition table partially overwritten by an Intel partition
Diffstat (limited to 'src/partmac.c')
-rw-r--r--src/partmac.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/partmac.c b/src/partmac.c
index 7c950b0..43d29ce 100644
--- a/src/partmac.c
+++ b/src/partmac.c
@@ -44,6 +44,7 @@
#include "savehdr.h"
#include "cramfs.h"
#include "ext2.h"
+#include "fat.h"
#include "hfs.h"
#include "hfsp.h"
#include "jfs_superblock.h"
@@ -126,8 +127,9 @@ list_part_t *read_part_mac(disk_t *disk_car, const int verbose, const int savehe
mac_Block0 *maclabel=(mac_Block0*)&buffer;
if (be16(maclabel->sbSig) != BLOCK0_SIGNATURE)
{
- aff_buffer(BUFFER_ADD,"\nBad MAC partition, invalid block0 signature\n");
- return NULL;
+ aff_buffer(BUFFER_ADD,"Bad MAC partition, invalid block0 signature\n");
+ /* continue, even if the first sector have been overwritten by an Intel
+ partition, the following sectors may be intact */
}
}
for(i=1;i<=limit;i++)
@@ -137,7 +139,7 @@ list_part_t *read_part_mac(disk_t *disk_car, const int verbose, const int savehe
return new_list_part;
if(be16(dpme->dpme_signature) != DPME_SIGNATURE)
{
- aff_buffer(BUFFER_ADD,"\nread_part_mac: bad DPME signature");
+ aff_buffer(BUFFER_ADD,"read_part_mac: bad DPME signature\n");
return new_list_part;
}
{