clock: Add NULL check for best clock in clock_update_slave()
This scenario will only be encountered when the clock transitions to the slave state without knowing who the master is. This will result in a segfault for BMCA with designated master and slave states (to be added in upcoming patches). Signed-off-by: Vedang Patel <vedang.patel@intel.com>master
parent
4910055bd7
commit
386fc3ed89
7
clock.c
7
clock.c
|
@ -636,7 +636,12 @@ static void clock_update_grandmaster(struct clock *c)
|
||||||
static void clock_update_slave(struct clock *c)
|
static void clock_update_slave(struct clock *c)
|
||||||
{
|
{
|
||||||
struct parentDS *pds = &c->dad.pds;
|
struct parentDS *pds = &c->dad.pds;
|
||||||
struct ptp_message *msg = TAILQ_FIRST(&c->best->messages);
|
struct ptp_message *msg;
|
||||||
|
|
||||||
|
if (!c->best)
|
||||||
|
return;
|
||||||
|
|
||||||
|
msg = TAILQ_FIRST(&c->best->messages);
|
||||||
c->cur.stepsRemoved = 1 + c->best->dataset.stepsRemoved;
|
c->cur.stepsRemoved = 1 + c->best->dataset.stepsRemoved;
|
||||||
pds->parentPortIdentity = c->best->dataset.sender;
|
pds->parentPortIdentity = c->best->dataset.sender;
|
||||||
pds->grandmasterIdentity = msg->announce.grandmasterIdentity;
|
pds->grandmasterIdentity = msg->announce.grandmasterIdentity;
|
||||||
|
|
Loading…
Reference in New Issue