summaryrefslogtreecommitdiff
path: root/usr/src/lib/librestart
diff options
context:
space:
mode:
authorwesolows <none@none>2007-09-13 10:10:42 -0700
committerwesolows <none@none>2007-09-13 10:10:42 -0700
commit3eae19d9cf3390cf5b75e10c9c1945fd36ad856a (patch)
tree2e7dc09a2b8d857b406d077178dc53207a1d6e15 /usr/src/lib/librestart
parentdb30663e794986128c960dc83ff43ca474b68a23 (diff)
downloadillumos-joyent-3eae19d9cf3390cf5b75e10c9c1945fd36ad856a.tar.gz
PSARC 2007/177 SMF read-protected property storage
PSARC 2007/519 svccfg(1M) restore 6537749 SMF should support read-protection of data 6538452 svccfg delete leaks memory on syntax error with options 6546699 svccfg archive should be able to be reimported 6559692 svccfg fails to import a manifest with an empty <property> 6597168 startd is setting $SMF_METHOD incorrectly 6597173 allocation failure can induce crash in scf_handle_decode_fmri() 6597183 allocation failure can induce crash in scf_simple_app_props_free() 6597190 scf_simple_app_props_get() can return with unset error code 6598922 rc_node_modify_permission_check() calls perm_granted() with rn_lock held
Diffstat (limited to 'usr/src/lib/librestart')
-rw-r--r--usr/src/lib/librestart/common/librestart.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr/src/lib/librestart/common/librestart.c b/usr/src/lib/librestart/common/librestart.c
index 88ca2ea53b..0bdafd3062 100644
--- a/usr/src/lib/librestart/common/librestart.c
+++ b/usr/src/lib/librestart/common/librestart.c
@@ -1069,6 +1069,7 @@ next_val:
case SCF_ERROR_HANDLE_MISMATCH:
case SCF_ERROR_INVALID_ARGUMENT:
+ case SCF_ERROR_PERMISSION_DENIED:
default:
bad_fail("scf_iter_next_value",
scf_error());
@@ -1367,6 +1368,7 @@ next_val:
case SCF_ERROR_HANDLE_MISMATCH:
case SCF_ERROR_INVALID_ARGUMENT:
+ case SCF_ERROR_PERMISSION_DENIED:
bad_fail(
"scf_iter_next_value",
scf_error());
@@ -2532,7 +2534,7 @@ restarter_get_method_context(uint_t version, scf_instance_t *inst,
/* get resource pool */
if (get_astring_val(pg, SCF_PROPERTY_RESOURCE_POOL, cip->vbuf,
- cip->vbuf_sz, prop, val) != 0) {
+ cip->vbuf_sz, prop, val) != 0) {
errstr = "Could not get value of resource pool.";
goto out;
}
@@ -2839,9 +2841,9 @@ restarter_set_method_context(struct method_context *cip, const char **fp)
* have access to the specified directory.
*/
if (cip->working_dir != NULL) {
- do
+ do {
r = chdir(cip->working_dir);
- while (r != 0 && errno == EINTR);
+ } while (r != 0 && errno == EINTR);
if (r != 0) {
*fp = "chdir";
ret = errno;