Re: [FYI PATCH] t/helper/test-lazy-name-hash: fix compilation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 12/18/2017 4:49 PM, Stefan Beller wrote:
I was compiling origin/master today with stricter compiler flags today
and was greeted by

t/helper/test-lazy-init-name-hash.c: In function ‘cmd_main’:
t/helper/test-lazy-init-name-hash.c:172:5: error: ‘nr_threads_used’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      printf("avg [size %8d] [single %f] %c [multi %f %d]\n",
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          nr,
          ~~~
          (double)avg_single/1000000000,
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          (avg_single < avg_multi ? '<' : '>'),
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          (double)avg_multi/1000000000,
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          nr_threads_used);
          ~~~~~~~~~~~~~~~~
t/helper/test-lazy-init-name-hash.c:115:6: note: ‘nr_threads_used’ was declared here
   int nr_threads_used;
       ^~~~~~~~~~~~~~~

I do not see how we can arrive at that line without having `nr_threads_used`
initialized, as we'd have `count > 1`  (which asserts that we ran the
loop above at least once, such that it *should* be initialized).

I do not have time to dive into further analysis.

Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx>
---
  t/helper/test-lazy-init-name-hash.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c
index 6368a89345..297fb01d61 100644
--- a/t/helper/test-lazy-init-name-hash.c
+++ b/t/helper/test-lazy-init-name-hash.c
@@ -112,7 +112,7 @@ static void analyze_run(void)
  {
  	uint64_t t1s, t1m, t2s, t2m;
  	int cache_nr_limit;
-	int nr_threads_used;
+	int nr_threads_used = 0;
  	int i;
  	int nr;

Agreed. It should not be a problem.  Explicitly initializing it is fine.


Signed-off-by: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux