@@ -78,6 +78,8 @@ int useOldCode() {
78
78
// Note: The CFDataRef returned in pemRoots and untrustedPemRoots must
79
79
// be released (using CFRelease) after we've consumed its content.
80
80
int FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots) {
81
+ int i;
82
+
81
83
if (useOldCode()) {
82
84
return FetchPEMRoots_MountainLion(pemRoots);
83
85
}
@@ -101,15 +103,16 @@ int FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots) {
101
103
102
104
CFMutableDataRef combinedData = CFDataCreateMutable(kCFAllocatorDefault, 0);
103
105
CFMutableDataRef combinedUntrustedData = CFDataCreateMutable(kCFAllocatorDefault, 0);
104
- for (int i = 0; i < numDomains; i++) {
106
+ for (i = 0; i < numDomains; i++) {
107
+ int j;
105
108
CFArrayRef certs = NULL;
106
109
OSStatus err = SecTrustSettingsCopyCertificates(domains[i], &certs);
107
110
if (err != noErr) {
108
111
continue;
109
112
}
110
113
111
114
CFIndex numCerts = CFArrayGetCount(certs);
112
- for (int j = 0; j < numCerts; j++) {
115
+ for (j = 0; j < numCerts; j++) {
113
116
CFDataRef data = NULL;
114
117
CFErrorRef errRef = NULL;
115
118
CFArrayRef trustSettings = NULL;
@@ -124,6 +127,9 @@ int FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots) {
124
127
if (i == 0) {
125
128
trustAsRoot = 1;
126
129
} else {
130
+ int k;
131
+ CFIndex m;
132
+
127
133
// Certs found in the system domain are always trusted. If the user
128
134
// configures "Never Trust" on such a cert, it will also be found in the
129
135
// admin or user domain, causing it to be added to untrustedPemRoots. The
@@ -133,7 +139,7 @@ int FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots) {
133
139
// SecTrustServer.c, "user trust settings overrule admin trust settings",
134
140
// so take the last trust settings array we find.
135
141
// Skip the system domain since it is always trusted.
136
- for (int k = i; k < numDomains; k++) {
142
+ for (k = i; k < numDomains; k++) {
137
143
CFArrayRef domainTrustSettings = NULL;
138
144
err = SecTrustSettingsCopyTrustSettings(cert, domains[k], &domainTrustSettings);
139
145
if (err == errSecSuccess && domainTrustSettings != NULL) {
@@ -147,9 +153,9 @@ int FetchPEMRoots(CFDataRef *pemRoots, CFDataRef *untrustedPemRoots) {
147
153
// "this certificate must be verified to a known trusted certificate"; aka not a root.
148
154
continue;
149
155
}
150
- for (CFIndex k = 0; k < CFArrayGetCount(trustSettings); k ++) {
156
+ for (m = 0; m < CFArrayGetCount(trustSettings); m ++) {
151
157
CFNumberRef cfNum;
152
- CFDictionaryRef tSetting = (CFDictionaryRef)CFArrayGetValueAtIndex(trustSettings, k );
158
+ CFDictionaryRef tSetting = (CFDictionaryRef)CFArrayGetValueAtIndex(trustSettings, m );
153
159
if (CFDictionaryGetValueIfPresent(tSetting, policy, (const void**)&cfNum)){
154
160
SInt32 result = 0;
155
161
CFNumberGetValue(cfNum, kCFNumberSInt32Type, &result);
0 commit comments