merge of b305fe132f91c44a41a877a48efc3bdfda785b73
and c4704f02db5f42d7bcdb2feafc6199d7ac132da3
diff --git a/libdwfl/elf-from-memory.c b/libdwfl/elf-from-memory.c
index 90a0c4d..2a17475 100644
--- a/libdwfl/elf-from-memory.c
+++ b/libdwfl/elf-from-memory.c
@@ -1,5 +1,5 @@
/* Reconstruct an ELF file by reading the segments out of remote memory.
- Copyright (C) 2005 Red Hat, Inc.
+ Copyright (C) 2005, 2006 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -338,7 +338,7 @@
xlatefrom.d_size = xlateto.d_size = sizeof ehdr.e64;
xlatefrom.d_buf = &ehdr.e64;
xlateto.d_buf = buffer;
- if (elf32_xlatetof (&xlateto, &xlatefrom,
+ if (elf64_xlatetof (&xlateto, &xlatefrom,
ehdr.e64.e_ident[EI_DATA]) == NULL)
goto libelf_error;
break;
@@ -354,7 +354,7 @@
if (elf == NULL)
{
free (buffer);
- return NULL;
+ goto libelf_error;
}
elf->flags |= ELF_F_MALLOCED;