forked from Imagelibrary/binutils-gdb
libctf: fix signed/unsigned comparison confusion
Comparing an encoding's cte_bits to a ctf_type_size needs a cast: one is a uint32_t and the other is an ssize_t. libctf/ChangeLog 2021-03-02 Nick Alcock <nick.alcock@oracle.com> * ctf-dump.c (ctf_dump_format_type): Fix signed/unsigned confusion.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
|
* ctf-dump.c (ctf_dump_format_type): Fix signed/unsigned confusion.
|
||||||
|
|
||||||
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
* ctf-dedup.c (ctf_dedup): Pass on errors from ctf_dedup_hash_type.
|
* ctf-dedup.c (ctf_dedup): Pass on errors from ctf_dedup_hash_type.
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag)
|
|||||||
|
|
||||||
if (ctf_type_encoding (fp, id, &ep) == 0)
|
if (ctf_type_encoding (fp, id, &ep) == 0)
|
||||||
{
|
{
|
||||||
if (ep.cte_bits != ctf_type_size (fp, id) * CHAR_BIT
|
if ((ssize_t) ep.cte_bits != ctf_type_size (fp, id) * CHAR_BIT
|
||||||
&& flag & CTF_FT_BITFIELD)
|
&& flag & CTF_FT_BITFIELD)
|
||||||
{
|
{
|
||||||
if (asprintf (&bit, ":%i", ep.cte_bits) < 0)
|
if (asprintf (&bit, ":%i", ep.cte_bits) < 0)
|
||||||
@@ -154,7 +154,7 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag)
|
|||||||
bit = NULL;
|
bit = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ep.cte_bits != ctf_type_size (fp, id) * CHAR_BIT
|
if ((ssize_t) ep.cte_bits != ctf_type_size (fp, id) * CHAR_BIT
|
||||||
|| ep.cte_offset != 0)
|
|| ep.cte_offset != 0)
|
||||||
{
|
{
|
||||||
const char *slice = "";
|
const char *slice = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user