From 1443fee901afd4f5fc9ea5b57f0f41369ce93532 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Wed, 19 Mar 2008 12:26:47 +0000 Subject: Fix errors when reporting who we are scheduled by. --- src/rc/runscript.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/rc/runscript.c b/src/rc/runscript.c index 2cab4dc..a889e6a 100644 --- a/src/rc/runscript.c +++ b/src/rc/runscript.c @@ -791,10 +791,12 @@ static void svc_start(bool deps) rc_service_schedule_start(svc->value, service); use_services = rc_deptree_depend(deptree, "iprovide", svc->value); - TAILQ_FOREACH (svc2, use_services, entries) - rc_service_schedule_start(svc2->value, service); - rc_stringlist_free(use_services); - use_services = NULL; + if (use_services) { + TAILQ_FOREACH (svc2, use_services, entries) + rc_service_schedule_start(svc2->value, service); + rc_stringlist_free(use_services); + use_services = NULL; + } len += strlen(svc->value) + 2; n++; } @@ -804,13 +806,13 @@ static void svc_start(bool deps) TAILQ_FOREACH(svc, tmplist, entries) { if (p != tmp) p += snprintf(p, len, ", "); - p += snprintf(p, len, "%s", svc->value); + p += snprintf(p, len - (p - tmp), "%s", svc->value); } - free(tmp); rc_stringlist_free(tmplist); tmplist = NULL; ewarnx("WARNING: %s is scheduled to start when %s has started", applet, tmp); + free(tmp); } rc_stringlist_free(services); -- cgit v1.2.3