Skip to content

Commit

Permalink
Merge pull request #136 from chillfig:reduce_cycloComplex
Browse files Browse the repository at this point in the history
Fix #129, Reduce cyclomatic complexity of GetElfHeader
  • Loading branch information
dzbaker committed Sep 1, 2023
2 parents b80af84 + e0ffd26 commit 8e5965c
Showing 1 changed file with 20 additions and 12 deletions.
32 changes: 20 additions & 12 deletions elf2cfetbl.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ int32 GetSrcFilename(void);
int32 GetDstFilename(void);
int32 OpenSrcFile(void);
int32 OpenDstFile(void);
int32 checkELFFileMagicNumber(void);
int32 GetElfHeader(void);
void SwapElfHeader(void);
int32 GetSectionHeader(int32 SectionIndex, union Elf_Shdr *SectionHeader);
Expand Down Expand Up @@ -1448,6 +1449,18 @@ int32 OpenDstFile(void)
return SUCCESS;
}

/**
*
*/

int32 checkELFFileMagicNumber(void)
{
if (get_e_ident(&ElfHeader, EI_MAG0) != ELFMAG0 || get_e_ident(&ElfHeader, EI_MAG1) != ELFMAG1 ||
get_e_ident(&ElfHeader, EI_MAG2) != ELFMAG2 || get_e_ident(&ElfHeader, EI_MAG3) != ELFMAG3)
return FAILED;
return SUCCESS;
}

/**
*
*/
Expand Down Expand Up @@ -1481,20 +1494,15 @@ int32 GetElfHeader(void)
}

if (Verbose)
printf("ELF Header:\n");
if (Verbose)
printf(" e_ident[EI_MAG0..3] = 0x%02x,%c%c%c\n", get_e_ident(&ElfHeader, EI_MAG0),
get_e_ident(&ElfHeader, EI_MAG1), get_e_ident(&ElfHeader, EI_MAG2), get_e_ident(&ElfHeader, EI_MAG3));
{
printf("ELF Header:\n"
" e_ident[EI_MAG0..3] = 0x%02x,%c%c%c\n",
get_e_ident(&ElfHeader, EI_MAG0), get_e_ident(&ElfHeader, EI_MAG1), get_e_ident(&ElfHeader, EI_MAG2),
get_e_ident(&ElfHeader, EI_MAG3));
}

/* Verify the ELF file magic number */
if (get_e_ident(&ElfHeader, EI_MAG0) != ELFMAG0)
Status = FAILED;
if (get_e_ident(&ElfHeader, EI_MAG1) != ELFMAG1)
Status = FAILED;
if (get_e_ident(&ElfHeader, EI_MAG2) != ELFMAG2)
Status = FAILED;
if (get_e_ident(&ElfHeader, EI_MAG3) != ELFMAG3)
Status = FAILED;
Status = checkELFFileMagicNumber();

if (Status == FAILED)
{
Expand Down

0 comments on commit 8e5965c

Please sign in to comment.