summaryrefslogtreecommitdiffhomepage
path: root/src/ndp.c
diff options
context:
space:
mode:
authorHans Dedecker <hans.dedecker@technicolor.com>2013-12-05 13:54:19 +0100
committerHans Dedecker <hans.dedecker@technicolor.com>2013-12-05 13:54:19 +0100
commit0b68cabeb40d6e24a677a9332d3f3db163b5d723 (patch)
treede82280197e4a1c596f429f495a80102ca8eeb1c /src/ndp.c
parent47bcdec8bd3bea91ef0510cdef7702bd559e8369 (diff)
Fix possible SEGFAULT conditions
Diffstat (limited to 'src/ndp.c')
-rw-r--r--src/ndp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ndp.c b/src/ndp.c
index 89bcd3c..bd62068 100644
--- a/src/ndp.c
+++ b/src/ndp.c
@@ -160,10 +160,19 @@ int setup_ndp_interface(struct interface *iface, bool enable)
if (iface->static_ndp_len) {
char *entry = alloca(iface->static_ndp_len), *saveptr;
+ if (!entry) {
+ syslog(LOG_ERR, "Alloca failed for static NDP list");
+ return -1;
+ }
memcpy(entry, iface->static_ndp, iface->static_ndp_len);
for (entry = strtok_r(entry, " ", &saveptr); entry; entry = strtok_r(NULL, " ", &saveptr)) {
struct ndp_neighbor *n = malloc(sizeof(*n));
+ if (!n) {
+ syslog(LOG_ERR, "Malloc failed for static NDP-prefix %s", entry);
+ return -1;
+ }
+
n->iface = iface;
n->timeout = 0;