aboutsummaryrefslogtreecommitdiff
path: root/clients
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2016-05-02 21:55:30 +0200
committerAlexey Kardashevskiy <aik@ozlabs.ru>2016-05-05 16:11:04 +1000
commit8870f4400f954ce9b9293eb30f27cecfa589cdba (patch)
tree543b48cff71f4cd27838a0f119b551de9ac23404 /clients
parent8f8c4e64148b509d1a7a9e6bae6fd63bf0fce036 (diff)
downloadSLOF-8870f4400f954ce9b9293eb30f27cecfa589cdba.zip
SLOF-8870f4400f954ce9b9293eb30f27cecfa589cdba.tar.gz
SLOF-8870f4400f954ce9b9293eb30f27cecfa589cdba.tar.bz2
ipv6: Fix NULL pointer dereference in ip6addr_add()
When ip6addr_add() is called for the first time, both the first_ip6 and the last_ip6 pointer are not initialized yet, i.e. contain NULL. So writing to "last_ip6->next" is a bad idea here. Fix it so that this value is only written when the function is not called for the first time. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'clients')
-rw-r--r--clients/net-snk/app/netlib/ipv6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/clients/net-snk/app/netlib/ipv6.c b/clients/net-snk/app/netlib/ipv6.c
index 220fd36..6aa1ea3 100644
--- a/clients/net-snk/app/netlib/ipv6.c
+++ b/clients/net-snk/app/netlib/ipv6.c
@@ -330,7 +330,8 @@ int8_t ip6addr_add(struct ip6addr_list_entry *new_address)
if (first_ip6 == NULL)
first_ip6 = new_address;
- last_ip6->next = new_address;
+ else
+ last_ip6->next = new_address;
last_ip6 = new_address;
last_ip6->next = NULL;