git.droids-corp.org
/
dpdk.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b631f3b
)
eal: fix possible crash in hotplug
author
Gaetan Rivet
<gaetan.rivet@6wind.com>
Thu, 3 Aug 2017 12:34:19 +0000
(14:34 +0200)
committer
Thomas Monjalon
<thomas@monjalon.net>
Thu, 3 Aug 2017 20:07:19 +0000
(22:07 +0200)
If devargs is NULL, building the full_dev_name will segfault
when using strlen on it.
Coverity issue: 158630
Fixes:
7e8b26650146
("eal: fix hotplug add / remove")
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
lib/librte_eal/common/eal_common_dev.c
patch
|
blob
|
history
diff --git
a/lib/librte_eal/common/eal_common_dev.c
b/lib/librte_eal/common/eal_common_dev.c
index
f98302d
..
d19232d
100644
(file)
--- a/
lib/librte_eal/common/eal_common_dev.c
+++ b/
lib/librte_eal/common/eal_common_dev.c
@@
-133,16
+133,13
@@
full_dev_name(const char *bus, const char *dev, const char *args)
char *name;
size_t len;
- len = strlen(bus) + 1 +
- strlen(dev) + 1 +
- strlen(args) + 1;
+ len = snprintf(NULL, 0, "%s:%s,%s", bus, dev, args);
name = calloc(1, len);
if (name == NULL) {
RTE_LOG(ERR, EAL, "Could not allocate full device name\n");
return NULL;
}
- snprintf(name, len, "%s:%s,%s", bus, dev,
- args ? args : "");
+ snprintf(name, len, "%s:%s,%s", bus, dev, args);
return name;
}