freebsd-dev/lib/libc/iconv
Jessica Clarke 6d5297569e libc: Fix "harmless" iconv one-byte overread
Checking there are still bytes left must be done before dereferencing
the pointer, not the other way round. This is harmless on traditional
architectures since the result will immediately be thrown away, and all
callers are in separate translation units so there is no potential for
optimising based on this out-of-bounds read. However, on CHERI, pointers
are bounded, and so this will trap if fed a string that does not have a
NUL within the first len bytes.

Found by:	CHERI
Reviewed by:	brooks
2021-12-21 22:47:38 +00:00
..
__iconv_free_list.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
__iconv_get_list.3 __iconv_get_list: separate .Nm entries with commas 2017-05-23 07:02:01 +00:00
__iconv_get_list.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
__iconv.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
_strtol.h General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
_strtoul.h General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
bsd_iconv.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_aliasname_local.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_bcs_strtol.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_bcs_strtoul.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_bcs.c libc: Fix "harmless" iconv one-byte overread 2021-12-21 22:47:38 +00:00
citrus_bcs.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_csmapper.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_csmapper.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db_factory.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db_factory.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db_file.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db_hash.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db_hash.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_db.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_esdb_file.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_esdb.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_esdb.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_fix_grouping.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_hash.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_hash.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_iconv_local.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_iconv.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_iconv.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lock.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lookup_factory.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lookup_factory.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lookup_file.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lookup.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_lookup.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_mapper_local.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_mapper.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_mapper.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_memstream.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_memstream.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_mmap.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_mmap.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_module.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_module.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_namespace.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_none.c libc: correct iconv buffer overflow 2019-07-02 23:56:37 +00:00
citrus_none.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_pivot_factory.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_pivot_factory.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_pivot_file.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_prop.c citrus_prop.c: do not ignore sign 2021-11-29 17:39:54 +02:00
citrus_prop.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_region.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_stdenc_local.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_stdenc_template.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_stdenc.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_stdenc.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
citrus_types.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_canonicalize.3
iconv_canonicalize.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_close.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_compat.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_open_into.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_open.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv_set_relocation_prefix.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv-internal.h libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconv.3 Remove the const qualifier from iconv(3) to comply with POSIX: 2015-04-15 09:09:20 +00:00
iconv.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconvctl.3
iconvctl.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
iconvlist.3
iconvlist.c libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
Makefile.inc Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
Symbol.map