The variable "err" is assigned to "ret" then "ret" gets overwritten by
check_extent_refs() before "ret" can be used. Reported by Coverity.
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
goto out;
}
- err = check_chunks(&chunk_cache, &block_group_cache,
+ ret = check_chunks(&chunk_cache, &block_group_cache,
&dev_extent_cache, NULL, NULL, NULL, 0);
- if (err) {
- if (err == -EAGAIN)
+ if (ret) {
+ if (ret == -EAGAIN)
goto loop;
- if (!ret)
- ret = err;
+ err = ret;
}
ret = check_extent_refs(root, &extent_cache);
goto out;
}
- err = check_devices(&dev_cache, &dev_extent_cache);
- if (err && !ret)
+ ret = check_devices(&dev_cache, &dev_extent_cache);
+ if (ret && err)
ret = err;
out: