Free the buffer in the case where we don't create a module out of it, as

pointed out by Torok Edwin.

Remove trailing whitespaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky 2009-02-07 03:15:01 +00:00
parent 92570c4a1a
commit 0df91b2c86

View File

@ -161,7 +161,7 @@ ld_plugin_status claim_file_hook(const ld_plugin_input_file *file,
// Gold has found what might be IR part-way inside of a file, such as // Gold has found what might be IR part-way inside of a file, such as
// an .a archive. // an .a archive.
if (lseek(file->fd, file->offset, SEEK_SET) == -1) { if (lseek(file->fd, file->offset, SEEK_SET) == -1) {
(*message)(LDPL_ERROR, (*message)(LDPL_ERROR,
"Failed to seek to archive member of %s at offset %d: %s\n", "Failed to seek to archive member of %s at offset %d: %s\n",
file->name, file->name,
file->offset, strerror(errno)); file->offset, strerror(errno));
@ -169,21 +169,24 @@ ld_plugin_status claim_file_hook(const ld_plugin_input_file *file,
} }
buf = malloc(file->filesize); buf = malloc(file->filesize);
if (!buf) { if (!buf) {
(*message)(LDPL_ERROR, (*message)(LDPL_ERROR,
"Failed to allocate buffer for archive member of size: %d\n", "Failed to allocate buffer for archive member of size: %d\n",
file->filesize); file->filesize);
return LDPS_ERR; return LDPS_ERR;
} }
if (read(file->fd, buf, file->filesize) != file->filesize) { if (read(file->fd, buf, file->filesize) != file->filesize) {
(*message)(LDPL_ERROR, (*message)(LDPL_ERROR,
"Failed to read archive member of %s at offset %d: %s\n", "Failed to read archive member of %s at offset %d: %s\n",
file->name, file->name,
file->offset, file->offset,
strerror(errno)); strerror(errno));
free(buf);
return LDPS_ERR; return LDPS_ERR;
} }
if (!lto_module_is_object_file_in_memory(buf, file->filesize)) if (!lto_module_is_object_file_in_memory(buf, file->filesize)) {
free(buf);
return LDPS_OK; return LDPS_OK;
}
} else if (!lto_module_is_object_file(file->name)) } else if (!lto_module_is_object_file(file->name))
return LDPS_OK; return LDPS_OK;