* Quick style cleanup

* Check for failed malloc in atom_parse


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42544 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alexander von Gluck IV 2011-08-02 18:14:54 +00:00
parent 22582a297c
commit 32e7d18a75
1 changed files with 17 additions and 13 deletions

View File

@ -1051,40 +1051,44 @@ atom_index_iio(atom_context *ctx, int base)
atom_context*
atom_parse(card_info *card, void *bios)
{
int base;
atom_context *ctx = (atom_context*)malloc(sizeof(atom_context));
char *str;
if (ctx == NULL) {
TRACE("%s: Error: No memory for atom_context mapping\n", __func__);
return NULL;
}
ctx->card = card;
ctx->bios = bios;
if (CU16(0) != ATOM_BIOS_MAGIC) {
TRACE("Invalid BIOS magic.\n");
free(ctx);
return NULL;
TRACE("Invalid BIOS magic.\n");
free(ctx);
return NULL;
}
if (strncmp(CSTR(ATOM_ATI_MAGIC_PTR), ATOM_ATI_MAGIC,
strlen(ATOM_ATI_MAGIC))) {
TRACE("Invalid ATI magic.\n");
free(ctx);
return NULL;
TRACE("Invalid ATI magic.\n");
free(ctx);
return NULL;
}
base = CU16(ATOM_ROM_TABLE_PTR);
int base = CU16(ATOM_ROM_TABLE_PTR);
if (strncmp(CSTR(base + ATOM_ROM_MAGIC_PTR), ATOM_ROM_MAGIC,
strlen(ATOM_ROM_MAGIC))) {
TRACE("Invalid ATOM magic.\n");
free(ctx);
return NULL;
TRACE("Invalid ATOM magic.\n");
free(ctx);
return NULL;
}
ctx->cmd_table = CU16(base + ATOM_ROM_CMD_PTR);
ctx->data_table = CU16(base + ATOM_ROM_DATA_PTR);
atom_index_iio(ctx, CU16(ctx->data_table + ATOM_DATA_IIO_PTR) + 4);
str = CSTR(CU16(base + ATOM_ROM_MSG_PTR));
char *str = CSTR(CU16(base + ATOM_ROM_MSG_PTR));
while (*str && ((*str == '\n') || (*str == '\r')))
str++;
TRACE("ATOM BIOS: %s", str);
return ctx;