summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-11-10 01:14:38 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-11-10 01:14:42 +0900
commit861de64e6858bc92b154ad70d1cee41ae5b75835 (patch)
tree91294864483647d1936624035d037ed58dbfd467
parentethtool: add several assertions (diff)
downloadsystemd-861de64e6858bc92b154ad70d1cee41ae5b75835.tar.xz
systemd-861de64e6858bc92b154ad70d1cee41ae5b75835.zip
ethtool: make ethtool_get_driver() return -ENODATA if ioctl succeeds but driver name is empty
Inspired by #17532.
-rw-r--r--src/shared/ethtool-util.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
index bf5d5c6a0c5..e6fab262f2d 100644
--- a/src/shared/ethtool-util.c
+++ b/src/shared/ethtool-util.c
@@ -197,6 +197,9 @@ int ethtool_get_driver(int *ethtool_fd, const char *ifname, char **ret) {
if (r < 0)
return -errno;
+ if (isempty(ecmd.driver))
+ return -ENODATA;
+
d = strdup(ecmd.driver);
if (!d)
return -ENOMEM;