When using a PPS source with no source clock specified with the -s option, avoid referencing a NULL pointer and using CLOCK_INVALID in system calls.
Signed-off-by: Miroslav Lichvar <[email protected]> --- phc2sys.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/phc2sys.c b/phc2sys.c index 00090cc..0742393 100644 --- a/phc2sys.c +++ b/phc2sys.c @@ -221,7 +221,7 @@ static struct clock *clock_add(struct node *node, char *device) c->clkid = clkid; c->phc_index = phc_index; c->servo_state = SERVO_UNLOCKED; - c->device = strdup(device); + c->device = device ? strdup(device) : NULL; if (c->clkid == CLOCK_REALTIME) { c->source_label = "sys"; @@ -249,9 +249,10 @@ static struct clock *clock_add(struct node *node, char *device) } } - c->servo = servo_add(node, c); + if (clkid != CLOCK_INVALID) + c->servo = servo_add(node, c); - if (clkid != CLOCK_REALTIME) + if (clkid != CLOCK_INVALID && clkid != CLOCK_REALTIME) c->sysoff_supported = (SYSOFF_SUPPORTED == sysoff_probe(CLOCKID_TO_FD(clkid), node->phc_readings)); -- 2.14.3 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxptp-devel
