lib: do not attempt to close(0) in sysfs_deinit()
If the 'open' fails we 'goto err' which runs 'sysfs_deinit()' on a 'cxt' which hasn't been fully initialised. The 'dir_fd' is still 0, so sysfs_deinit calls "close(0)". Addresses: https://bugzilla.novell.com/show_bug.cgi?id=714151 Reported-by: Diego Ercolani <diego.ercolani@gmail.com> Analysed-by: Neil Brown <nfbrown@suse.com> Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
This commit is contained in:
parent
0f96058686
commit
718d3b9814
|
@ -140,6 +140,7 @@ int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent)
|
|||
int fd, rc = 0;
|
||||
|
||||
memset(cxt, 0, sizeof(*cxt));
|
||||
cxt->dir_fd = -1;
|
||||
|
||||
if (!sysfs_devno_path(devno, path, sizeof(path)))
|
||||
goto err;
|
||||
|
|
Loading…
Reference in New Issue