@ -231,6 +231,7 @@ main (int argc, char * argv[])
if ( fs_file ) {
if ( fs_file ) {
fs_fp = fopen ( fs_file , " r " ) ;
fs_fp = fopen ( fs_file , " r " ) ;
if ( ! fs_fp ) {
if ( ! fs_fp ) {
fclose ( kern_fp ) ;
fatal_error ( errno , " Cannot open %s " , fs_file ) ;
fatal_error ( errno , " Cannot open %s " , fs_file ) ;
}
}
}
}
@ -238,6 +239,10 @@ main (int argc, char * argv[])
/* Open the output file */
/* Open the output file */
out_fp = fopen ( output_file , " w+ " ) ;
out_fp = fopen ( output_file , " w+ " ) ;
if ( ! out_fp ) {
if ( ! out_fp ) {
fclose ( kern_fp ) ;
if ( fs_fp ) {
fclose ( fs_fp ) ;
}
fatal_error ( errno , " Cannot open %s " , output_file ) ;
fatal_error ( errno , " Cannot open %s " , output_file ) ;
}
}
@ -285,6 +290,7 @@ main (int argc, char * argv[])
netgear_checksum_add ( & chk_part , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_part , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_whole , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_whole , ( unsigned char * ) buf , len ) ;
}
}
fclose ( kern_fp ) ;
hdr - > kernel_chksum = netgear_checksum_fini ( & chk_part ) ;
hdr - > kernel_chksum = netgear_checksum_fini ( & chk_part ) ;
message ( " Kernel Len: %u " , hdr - > kernel_len ) ;
message ( " Kernel Len: %u " , hdr - > kernel_len ) ;
message ( " Kernel Checksum: 0x%08x " , hdr - > kernel_chksum ) ;
message ( " Kernel Checksum: 0x%08x " , hdr - > kernel_chksum ) ;
@ -306,6 +312,7 @@ main (int argc, char * argv[])
netgear_checksum_add ( & chk_part , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_part , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_whole , ( unsigned char * ) buf , len ) ;
netgear_checksum_add ( & chk_whole , ( unsigned char * ) buf , len ) ;
}
}
fclose ( fs_fp ) ;
hdr - > rootfs_chksum = ( netgear_checksum_fini ( & chk_part ) ) ;
hdr - > rootfs_chksum = ( netgear_checksum_fini ( & chk_part ) ) ;
message ( " Rootfs Len: %u " , hdr - > rootfs_len ) ;
message ( " Rootfs Len: %u " , hdr - > rootfs_len ) ;
message ( " Rootfs Checksum: 0x%08x " , hdr - > rootfs_chksum ) ;
message ( " Rootfs Checksum: 0x%08x " , hdr - > rootfs_chksum ) ;
@ -336,6 +343,7 @@ main (int argc, char * argv[])
}
}
/* Success */
/* Success */
fclose ( out_fp ) ;
return EXIT_SUCCESS ;
return EXIT_SUCCESS ;
}
}