summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorAndrew Stormont <astormont@racktopsystems.com>2017-01-24 12:28:16 +0000
committerDan McDonald <danmcd@omniti.com>2017-01-30 16:31:35 -0500
commita317d5f60cbb8b31bf3341744d7d938e7218e552 (patch)
treefa3335fae0ee27c8c277ed44ef543688f50f0b8e /usr/src
parenta41f965a2f911f4f56617a2e6ceaeef4e1c58e70 (diff)
downloadillumos-joyent-a317d5f60cbb8b31bf3341744d7d938e7218e552.tar.gz
7806 svccfg restore segfaults in upgrade_manifestfiles
Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Jason King <jason.brian.king@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/svc/svccfg/svccfg_libscf.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/usr/src/cmd/svc/svccfg/svccfg_libscf.c b/usr/src/cmd/svc/svccfg/svccfg_libscf.c
index bc3191ac88..ab657d69a0 100644
--- a/usr/src/cmd/svc/svccfg/svccfg_libscf.c
+++ b/usr/src/cmd/svc/svccfg/svccfg_libscf.c
@@ -23,6 +23,7 @@
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2015 Joyent, Inc.
* Copyright 2012 Milan Jurik. All rights reserved.
+ * Copyright 2017 RackTop Systems.
*/
@@ -3895,7 +3896,7 @@ commit:
*
*/
static int
-upgrade_manifestfiles(pgroup_t *pg, const entity_t *ient,
+upgrade_manifestfiles(pgroup_t *pg, entity_t *ient,
const scf_snaplevel_t *running, void *ent)
{
scf_propertygroup_t *ud_mfsts_pg = NULL;
@@ -3965,13 +3966,9 @@ upgrade_manifestfiles(pgroup_t *pg, const entity_t *ient,
}
/* Fetch the new manifests property group */
- for (mfst_pgroup = uu_list_first(ient->sc_pgroups);
- mfst_pgroup != NULL;
- mfst_pgroup = uu_list_next(ient->sc_pgroups, mfst_pgroup)) {
- if (strcmp(mfst_pgroup->sc_pgroup_name,
- SCF_PG_MANIFESTFILES) == 0)
- break;
- }
+ mfst_pgroup = internal_pgroup_find_or_create(ient,
+ SCF_PG_MANIFESTFILES, SCF_GROUP_FRAMEWORK);
+ assert(mfst_pgroup != NULL);
if ((r = scf_iter_pg_properties(ud_prop_iter, ud_mfsts_pg)) !=
SCF_SUCCESS)