Theoretically, its possible for netdev_get_status() to be called
on a netdev-vport which hasn't had its configuration set yet. In
this case, netdev-vport would dereference a null pointer.
Reported-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
- * Copyright (c) 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2010, 2011, 2012, 2013 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
static char name[IFNAMSIZ];
ndv = netdev_dev_vport_cast(netdev_get_dev(netdev));
static char name[IFNAMSIZ];
ndv = netdev_dev_vport_cast(netdev_get_dev(netdev));
+ if (!ndv->options) {
+ /* Race condition when 'ndv' was created, but did not have its
+ * configuration set yet. */
+ return NULL;
+ }
+
if (tnl_port_config_from_nlattr(ndv->options->data, ndv->options->size,
a)) {
return NULL;
if (tnl_port_config_from_nlattr(ndv->options->data, ndv->options->size,
a)) {
return NULL;