# Re: \[PATCH 6/8\] bitmap: Fix resource leak in bitmap\_file\_open()

- From: Jes Sorensen \<hidden\>
- Date: 2016-03-09 16:28:46 
- List: linux-raid
- Page: https://ratatoskr.run/linux-raid/2016/03/6631741
- Thread: https://ratatoskr.run/linux-raid/2016/03/6631741/t.md

```text
NeilBrown [ref] writes:
> On Wed, Mar 09 2016, Jes.Sorensen@redhat.com wrote:
>
>> From: Jes Sorensen <redacted>
>>
>> The code would leak 'fd' if locate_bitmap() failed.
>>
>> Signed-off-by: Jes Sorensen <redacted>
>> ---
>>  bitmap.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/bitmap.c b/bitmap.c
>> index 5ad7401..0367d13 100644
>> --- a/bitmap.c
>> +++ b/bitmap.c
>> @@ -224,6 +224,7 @@ int bitmap_file_open(char *filename, struct supertype **stp, int node_num)
>>  		} else {
>>  			if (st->ss->locate_bitmap(st, fd, node_num)) {
>>  				pr_err("%s doesn't have bitmap\n", filename);
>> +				close(fd);
>>  				fd = -1;
>>  			}
>>  		}
>
> Don't you also need a 'close' in
>
> 		} else if (!st->ss->locate_bitmap) {
> 			pr_err("No bitmap possible with %s metadata\n",
> 				st->ss->name);
> 			return -1;
> ??

I probably need new glasses too :)

Thanks for catching that!

Cheers,
Jes
```
