Fix 'dosfslabel throws "Seek to 114116076544:Invalid argument" error when labeling'.

See https://bugzilla.redhat.com/show_bug.cgi?id=693662 for more information.

Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
This commit is contained in:
Jaroslav Škarvada 2012-06-30 19:09:11 +02:00 committed by Daniel Baumann
parent e243612ccd
commit d039482656
2 changed files with 7 additions and 3 deletions

View File

@ -82,7 +82,7 @@ static void check_atari(void)
int main(int argc, char *argv[])
{
DOS_FS fs;
DOS_FS fs = {0};
rw = 0;
char *device = NULL;
@ -113,6 +113,8 @@ int main(int argc, char *argv[])
fs_open(device, rw);
read_boot(&fs);
if (fs.fat_bits == 32)
read_fat(&fs);
if (!rw) {
fprintf(stdout, "%s\n", fs.label);
exit(0);

View File

@ -86,7 +86,9 @@ void read_fat(DOS_FS * fs)
unsigned long total_num_clusters;
/* Clean up from previous pass */
if (fs->fat)
free(fs->fat);
if (fs->cluster_owner)
free(fs->cluster_owner);
fs->fat = NULL;
fs->cluster_owner = NULL;