fsutils:ipcfg Fix fd propagation as return value in bin mode

With CONFIG_IPCFG_BINARY lit. ipcfg_open needs to return
   the fd or an -errno. It was returning OK not the fd.
This commit is contained in:
David Sidrane 2020-09-30 12:11:56 -07:00 committed by patacongo
parent 17c34df3b9
commit ff866b9527

View File

@ -201,8 +201,6 @@ static int ipcfg_open(FAR const char *netdev, int oflags, mode_t mode)
/* Now open the file */ /* Now open the file */
fd = open(path, oflags, mode); fd = open(path, oflags, mode);
ret = OK;
if (fd < 0) if (fd < 0)
{ {
ret = -errno; ret = -errno;
@ -220,11 +218,14 @@ static int ipcfg_open(FAR const char *netdev, int oflags, mode_t mode)
if (ret < 0) if (ret < 0)
{ {
ret = -errno; ret = -errno;
close(fd);
fprintf(stderr, "ERROR: Failed to seek to $ld: %d\n", fprintf(stderr, "ERROR: Failed to seek to $ld: %d\n",
(long)CONFIG_IPCFG_OFFSET, ret); (long)CONFIG_IPCFG_OFFSET, ret);
close(fd); goto errout_with_path;
} }
#endif #endif
ret = fd;
errout_with_path: errout_with_path:
free(path); free(path);