From: Nick Alcock Date: Thu, 26 Jun 2025 14:47:25 +0000 (+0100) Subject: libctf: create: check the right root-visible flag when adding enumerands X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ccf2e7a93a78aabdab78b730cca5cea01f92c305;p=thirdparty%2Fbinutils-gdb.git libctf: create: check the right root-visible flag when adding enumerands The root-visible flag we're dealing with here is directly out of the dict, not a flag passed in to the API, so it does not have the values CTF_ADD_ROOT or CTF_ADD_NONROOT: instead it's simply zero for non-root-visible, nonzero otherwise. Fix the test. libctf/ * ctf-create.c (ctf_add_enumerator): Fix root-visibility test. --- diff --git a/libctf/ctf-create.c b/libctf/ctf-create.c index d165602a981..71ac6b0d998 100644 --- a/libctf/ctf-create.c +++ b/libctf/ctf-create.c @@ -1518,7 +1518,7 @@ ctf_add_enumerator (ctf_dict_t *fp, ctf_id_t enid, const char *name, /* Enumeration constant names are only added, and only checked for duplicates, if the enum they are part of is a root-visible type. */ - if (root == CTF_ADD_ROOT && ctf_dynhash_lookup (fp->ctf_names, name)) + if (root && ctf_dynhash_lookup (fp->ctf_names, name)) { if (fp->ctf_flags & LCTF_STRICT_NO_DUP_ENUMERATORS) return (ctf_set_errno (ofp, ECTF_DUPLICATE));