+int sidtab_clone(struct sidtab *s, struct sidtab *d)
+{
+ int i, rc = 0;
If s or d are NULL (see if() below), why would we want rc, the return
value, to be 0? How about defaulting rc to an error value (-EINVAL)?
+ struct sidtab_node *cur;
+
+ if (!s || !d)
+ goto errout;
+
+ read_lock(&s->lock);
+ for (i = 0; i < SIDTAB_SIZE; i++) {
+ cur = s->htable[i];
+ while (cur) {
+ if (cur->sid > SECINITSID_NUM)
+ rc = sidtab_insert(d, cur->sid, &cur->context);
+ if (rc)
+ goto out;
+ cur = cur->next;
+ }
+ }
+out:
+ read_unlock(&s->lock);
+errout:
+ return rc;
+}
Thanks,
Jay
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.