| Bug #108516 | Return value of my_b_flush_io_cache(IO_CACHE*, int) not get checked | ||
|---|---|---|---|
| Submitted: | 16 Sep 2022 1:50 | Modified: | 16 Sep 2022 5:58 | 
| Reporter: | Li Zhong | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: Optimizer | Severity: | S2 (Serious) | 
| Version: | 8.0.21 | OS: | Any | 
| Assigned to: | CPU Architecture: | Any | |
   [16 Sep 2022 1:50]
   Li Zhong        
  
 
   [16 Sep 2022 5:58]
   MySQL Verification Team        
  Hello Li Zhong, Thank you for the report and feedback. regards, Umesh
   [19 Sep 2022 13:24]
   Tor Didriksen        
  Posted by developer:
 
my_b_flush_io_cache *does* return -1 on error
          return (info->error = -1);
so the hash source code is OK.
In most other contexts we test for non-zero, with
 if (flush_io_cache(&file) ...
so maybe your static analysis tool thinks this is a boolean true/false function.
Anyways, it seems better to test for non-zero, also in HashJoinChunk::Rewind()
 
