On 5/10/22 16:20, Alan Modra wrote:
> On Tue, May 10, 2022 at 10:56:22AM +0200, Martin Liška wrote:
> 
>> diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
> 
>> @@ -457,15 +457,15 @@ htab_empty (htab_t htab)
>>        else if (htab->free_with_arg_f != NULL)
>>      (*htab->free_with_arg_f) (htab->alloc_arg, htab->entries);
>>        if (htab->alloc_with_arg_f != NULL)
>> -    htab->entries = (PTR *) (*htab->alloc_with_arg_f) (htab->alloc_arg, 
>> nsize,
>> -                                                       sizeof (PTR *));
>> +    htab->entries = (void **) (*htab->alloc_with_arg_f) (htab->alloc_arg, 
>> nsize,
>> +                                                       sizeof (void **));
> 
> Here, and below, the code should really be using "sizeof (void *)".
> You may as well fix that nit while you're at it.  Also, indentation
> looks wrong.
> 
>>        else
>> -    htab->entries = (PTR *) (*htab->alloc_f) (nsize, sizeof (PTR *));
>> +    htab->entries = (void **) (*htab->alloc_f) (nsize, sizeof (void **));
>>       htab->size = nsize;
>>       htab->size_prime_index = nindex;
>>      }
>>    else
>> -    memset (entries, 0, size * sizeof (PTR));
>> +    memset (entries, 0, size * sizeof (void *));
>>    htab->n_deleted = 0;
>>    htab->n_elements = 0;
>>  }
> 
>> @@ -543,10 +543,10 @@ htab_expand (htab_t htab)
>>      }
>>  
>>    if (htab->alloc_with_arg_f != NULL)
>> -    nentries = (PTR *) (*htab->alloc_with_arg_f) (htab->alloc_arg, nsize,
>> -                                              sizeof (PTR *));
>> +    nentries = (void **) (*htab->alloc_with_arg_f) (htab->alloc_arg, nsize,
>> +                                              sizeof (void **));
>>    else
>> -    nentries = (PTR *) (*htab->alloc_f) (nsize, sizeof (PTR *));
>> +    nentries = (void **) (*htab->alloc_f) (nsize, sizeof (void **));
>>    if (nentries == NULL)
>>      return 0;
>>    htab->entries = nentries;
> 
> Here too.
> 

Thanks for the comments, I'm going to push the following patch.

Martin
From 5dac43b43c3999f94b451cd7925e24d8e7c38a7a Mon Sep 17 00:00:00 2001
From: Martin Liska <mli...@suse.cz>
Date: Tue, 10 May 2022 17:31:24 +0200
Subject: [PATCH] libiberty: fix type in allocation

The allocation function alloc_f is called for nsize
items where each is of type void *.

libiberty/ChangeLog:

	* hashtab.c (htab_empty): Use void * type instead of void **.
	(htab_expand): Likewise.

Co-Authored-By: Alan Modra <amo...@gmail.com>
---
 libiberty/hashtab.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
index f7621cd47e5..470d3e66c32 100644
--- a/libiberty/hashtab.c
+++ b/libiberty/hashtab.c
@@ -458,9 +458,9 @@ htab_empty (htab_t htab)
 	(*htab->free_with_arg_f) (htab->alloc_arg, htab->entries);
       if (htab->alloc_with_arg_f != NULL)
 	htab->entries = (void **) (*htab->alloc_with_arg_f) (htab->alloc_arg, nsize,
-						           sizeof (void **));
+							     sizeof (void *));
       else
-	htab->entries = (void **) (*htab->alloc_f) (nsize, sizeof (void **));
+	htab->entries = (void **) (*htab->alloc_f) (nsize, sizeof (void *));
      htab->size = nsize;
      htab->size_prime_index = nindex;
     }
@@ -544,9 +544,9 @@ htab_expand (htab_t htab)
 
   if (htab->alloc_with_arg_f != NULL)
     nentries = (void **) (*htab->alloc_with_arg_f) (htab->alloc_arg, nsize,
-						  sizeof (void **));
+						    sizeof (void *));
   else
-    nentries = (void **) (*htab->alloc_f) (nsize, sizeof (void **));
+    nentries = (void **) (*htab->alloc_f) (nsize, sizeof (void *));
   if (nentries == NULL)
     return 0;
   htab->entries = nentries;
-- 
2.36.0

Reply via email to