From 37bf6a2cb733f11b0676596066d31286622ef1c9 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Tue, 25 Nov 2014 07:01:38 +0000 Subject: [PATCH] Adjust some checks missed in r274637, now that pi_rname can be NULL. Additionally fix a misparenthesization in the same check, noticed while fixing the first bug. This bug only appears to cause problems if the same USDT probe appears twice within a static function. X-MFC-With: r274637 --- cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c index 6acb86b155ba..cd8ceb655934 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c @@ -545,8 +545,9 @@ dt_probe_define(dt_provider_t *pvp, dt_probe_t *prp, for (pip = prp->pr_inst; pip != NULL; pip = pip->pi_next) { if (strcmp(pip->pi_fname, fname) == 0 && - ((rname == NULL && pip->pi_rname[0] == '\0') || - (rname != NULL && strcmp(pip->pi_rname, rname)) == 0)) + ((rname == NULL && pip->pi_rname == NULL) || + (rname != NULL && pip->pi_rname != NULL && + strcmp(pip->pi_rname, rname) == 0))) break; }