platform_bionic/linker
Ryan Prichard 0adf09b370 linker: fix invalid zip file handling
The argument to CloseArchive has type ZipArchiveHandle, but we're
passing it a ZipArchiveHandle*. The compiler doesn't detect the type
mismatch because ZipArchiveHandle is a typedef for void*.

Remove a duplicate close() call:

The fourth argument to OpenArchiveFd is "bool assume_ownership = true".
Even if the function fails, ownership of the fd is still transferred to
a ZipArchive object that's deleted when this code calls CloseArchive.

AFAIK, this code path is rarely or never hit.

Bug: none
Test: manual (eventually, 'linker64 /system!/foo')
Change-Id: I95d79809b6e118fb3c39c7b98b8055c8e324db1a
2018-10-08 13:27:16 -07:00
..
arch Switch x86 begin.c to asm; align ESP correctly 2018-02-12 21:43:12 -08:00
tests Resolve paths of dir.${section} if possible 2018-06-18 19:16:34 +09:00
Android.bp Merge "Exclude libclang_rt.builtins symbols" 2018-10-04 22:09:55 +00:00
Android.mk Convert linker from Android.mk to Android.bp 2016-07-15 13:39:29 -07:00
dlfcn.cpp Fix linker's _r_debug (gdb) info 2018-08-21 17:20:07 -07:00
ld.config.format.md Load namespace configuration from ld.config.txt 2017-03-24 15:50:45 -07:00
ld_android.cpp Break libdl.so and ld-android.so's dependency on libc.so. 2018-03-30 13:56:03 -07:00
linked_list.h Add noexcept to move constructors and assignment operators. 2018-09-25 14:00:44 -07:00
linker.arm.map linker: Allow link namespaces without name filters 2018-01-25 14:45:29 +08:00
linker.cpp linker: fix invalid zip file handling 2018-10-08 13:27:16 -07:00
linker.generic.map linker: Allow link namespaces without name filters 2018-01-25 14:45:29 +08:00
linker.h Fix linker's _r_debug (gdb) info 2018-08-21 17:20:07 -07:00
linker_allocator.cpp Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to <sys/prctl.h>. 2018-08-22 10:36:23 -07:00
linker_allocator.h Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to <sys/prctl.h>. 2018-08-22 10:36:23 -07:00
linker_block_allocator.cpp Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to <sys/prctl.h>. 2018-08-22 10:36:23 -07:00
linker_block_allocator.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_cfi.cpp Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to <sys/prctl.h>. 2018-08-22 10:36:23 -07:00
linker_cfi.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_common_types.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_config.cpp Don't emit warning on missing directories 2018-06-22 00:59:23 +09:00
linker_config.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_debug.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_dlwarning.cpp Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
linker_dlwarning.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_exidx_static.c Implement __gnu_Unwind_Find_exidx/__cxa_type_match 2017-08-29 18:18:27 +02:00
linker_gdb_support.cpp Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
linker_gdb_support.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_globals.cpp Be clearer about linker warnings. 2018-02-28 12:37:28 -08:00
linker_globals.h Be clearer about linker warnings. 2018-02-28 12:37:28 -08:00
linker_libc_support.c Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
linker_libcxx_support.cpp Adapt to the new libc++/libc++abi update. 2018-01-08 14:44:42 -08:00
linker_logger.cpp Move libc_log code into libasync_safe. 2017-05-03 08:50:43 -07:00
linker_logger.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_main.cpp Fix linker's _r_debug (gdb) info 2018-08-21 17:20:07 -07:00
linker_main.h vdso should be available in all namespaces 2018-05-12 10:58:00 +02:00
linker_mapped_file_fragment.cpp Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
linker_mapped_file_fragment.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_memory.cpp Add reallocarray(3). 2018-09-26 14:24:18 -07:00
linker_mips.cpp MIPS: Fix MIPS linker VDSO issues 2017-10-13 12:08:30 +02:00
linker_namespaces.cpp Be clearer about linker warnings. 2018-02-28 12:37:28 -08:00
linker_namespaces.h Libraries without dt_soname are inaccessible 2018-04-29 13:39:46 +02:00
linker_phdr.cpp State clearly that an ELF file has the wrong architecture. 2018-09-17 15:50:09 -07:00
linker_phdr.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_reloc_iterators.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_relocs.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_sdk_versions.cpp Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
linker_sleb128.h Switch the rest of our internal headers to #pragma once. 2018-02-13 14:27:17 -08:00
linker_soinfo.cpp dynamic linker is running for init 2018-06-08 14:50:14 +09:00
linker_soinfo.h Fix linker's _r_debug (gdb) info 2018-08-21 17:20:07 -07:00
linker_utils.cpp dynamic linker is running for init 2018-06-08 14:50:14 +09:00
linker_utils.h dynamic linker is running for init 2018-06-08 14:50:14 +09:00
linker_wrapper.cpp Use an embedded linker for host bionic 2017-09-20 13:59:13 -07:00
MODULE_LICENSE_BSD Unify linker files under one license (BSD) 2017-02-15 15:35:33 -08:00
rt.cpp