]> git.saurik.com Git - apple/security.git/blobdiff - cdsa/cdsa_utilities/acl_threshold.cpp
Security-163.tar.gz
[apple/security.git] / cdsa / cdsa_utilities / acl_threshold.cpp
index da968743f416d57f954a6a1d749ec9e23bf5c228..6a44701c727eadf684796da93a50d3ccb234f4a8 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <Security/acl_threshold.h>
 #include <algorithm>
+#include <Security/endian.h>
 
 
 //
@@ -108,14 +109,14 @@ ThresholdAclSubject *ThresholdAclSubject::Maker::make(const TypedList &list) con
     AclSubjectVector elements(totalSubjects);
     const ListElement *subSubject = &list[3];
     for (uint32 n = 0; n < totalSubjects; n++, subSubject = subSubject->next())
-        elements[n] = ObjectAcl::make(*subSubject);
+        elements[n] = ObjectAcl::make(subSubject->typedList());
        return new ThresholdAclSubject(totalSubjects, minimumNeeded, elements);
 }
 
 ThresholdAclSubject *ThresholdAclSubject::Maker::make(Version, Reader &pub, Reader &priv) const
 {
-    uint32 totalSubjects; pub(totalSubjects);
-    uint32 minimumNeeded; pub(minimumNeeded);
+    Endian<uint32> totalSubjects; pub(totalSubjects);
+    Endian<uint32> minimumNeeded; pub(minimumNeeded);
     AclSubjectVector subSubjects(totalSubjects);
     for (uint32 n = 0; n < totalSubjects; n++)
                subSubjects[n] = ObjectAcl::importSubject(pub, priv);
@@ -136,8 +137,8 @@ ThresholdAclSubject::ThresholdAclSubject(uint32 n, uint32 k,
 template <class Action>
 void ThresholdAclSubject::exportBlobForm(Action &pub, Action &priv)
 {
-    pub(totalSubjects);
-    pub(minimumNeeded);
+    pub(h2n(totalSubjects));
+    pub(h2n(minimumNeeded));
     for (uint32 n = 0; n < totalSubjects; n++)
                ObjectAcl::exportSubject(elements[n], pub, priv);
 }