Skip to content

Commit bbd6962

Browse files
authored
Merge pull request #2819 from valeriyvan/CFPreferences
Fixes 5 static analyser issues in CFPreferences.c
2 parents 3f5931e + d45155a commit bbd6962

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

CoreFoundation/Preferences.subproj/CFPreferences.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,7 @@ CF_PRIVATE CFStringRef _CFPreferencesGetByHostIdentifierString(void) {
169169

170170
static unsigned long __CFSafeLaunchLevel = 0;
171171

172-
static CFURLRef _preferencesDirectoryForUserHostSafetyLevel(CFStringRef userName, CFStringRef hostName, unsigned long safeLevel) {
173-
CFAllocatorRef alloc = __CFPreferencesAllocator();
172+
static CFURLRef _preferencesCreateDirectoryForUserHostSafetyLevel(CFStringRef userName, CFStringRef hostName, unsigned long safeLevel) {
174173
CFURLRef location = NULL;
175174

176175
CFKnownLocationUser user;
@@ -197,7 +196,7 @@ static CFURLRef _preferencesDirectoryForUserHostSafetyLevel(CFStringRef userName
197196
}
198197

199198
static CFURLRef _preferencesDirectoryForUserHost(CFStringRef userName, CFStringRef hostName) {
200-
return _preferencesDirectoryForUserHostSafetyLevel(userName, hostName, __CFSafeLaunchLevel);
199+
return _preferencesCreateDirectoryForUserHostSafetyLevel(userName, hostName, __CFSafeLaunchLevel);
201200
}
202201

203202
static Boolean __CFPreferencesWritesXML = true;
@@ -282,15 +281,13 @@ void CFPreferencesSetMultiple(CFDictionaryRef keysToSet, CFArrayRef keysToRemove
282281

283282
CFTypeRef *keys = NULL;
284283
CFTypeRef *values;
285-
CFIndex numOfKeysToSet = 0;
286284

287285
domain = _CFPreferencesStandardDomain(appName, user, host);
288286
if (!domain) return;
289287

290288
CFAllocatorRef alloc = CFGetAllocator(domain);
291289

292290
if (keysToSet && (count = CFDictionaryGetCount(keysToSet))) {
293-
numOfKeysToSet = count;
294291
keys = (CFTypeRef *)CFAllocatorAllocate(alloc, 2*count*sizeof(CFTypeRef), 0);
295292
if (keys) {
296293
values = &(keys[count]);
@@ -385,7 +382,7 @@ const CFRuntimeClass __CFPreferencesDomainClass = {
385382
};
386383

387384
/* We spend a lot of time constructing these prefixes; we should cache. REW, 7/19/99 */
388-
static CFStringRef _CFPreferencesCachePrefixForUserHost(CFStringRef userName, CFStringRef hostName) {
385+
static CFStringRef _CFPreferencesCreateCachePrefixForUserHost(CFStringRef userName, CFStringRef hostName) {
389386
if (userName == kCFPreferencesAnyUser && hostName == kCFPreferencesAnyHost) {
390387
return (CFStringRef)CFRetain(CFSTR("*/*/"));
391388
}
@@ -410,7 +407,7 @@ static CFStringRef _CFPreferencesCachePrefixForUserHost(CFStringRef userName,
410407

411408
// It would be nice if we could remember the key for "well-known" combinations, so we're not constantly allocing more strings.... - REW 2/3/99
412409
static CFStringRef _CFPreferencesStandardDomainCacheKey(CFStringRef domainName, CFStringRef userName, CFStringRef hostName) {
413-
CFStringRef prefix = _CFPreferencesCachePrefixForUserHost(userName, hostName);
410+
CFStringRef prefix = _CFPreferencesCreateCachePrefixForUserHost(userName, hostName);
414411
CFStringRef result = NULL;
415412

416413
if (prefix) {
@@ -424,7 +421,7 @@ static CFURLRef _CFPreferencesURLForStandardDomainWithSafetyLevel(CFStringRef do
424421
CFURLRef theURL = NULL;
425422
CFAllocatorRef prefAlloc = __CFPreferencesAllocator();
426423
#if TARGET_OS_OSX || TARGET_OS_WIN32 || TARGET_OS_LINUX
427-
CFURLRef prefDir = _preferencesDirectoryForUserHostSafetyLevel(userName, hostName, safeLevel);
424+
CFURLRef prefDir = _preferencesCreateDirectoryForUserHostSafetyLevel(userName, hostName, safeLevel);
428425
CFStringRef appName;
429426
CFStringRef fileName;
430427
Boolean mustFreeAppName = false;
@@ -462,12 +459,12 @@ static CFURLRef _CFPreferencesURLForStandardDomainWithSafetyLevel(CFStringRef do
462459
#elif TARGET_OS_WIN32
463460
theURL = CFURLCreateWithFileSystemPathRelativeToBase(prefAlloc, fileName, kCFURLWindowsPathStyle, false, prefDir);
464461
#endif
465-
if (prefDir) CFRelease(prefDir);
466462
CFRelease(fileName);
467463
}
468464
#else
469465
//#error Do not know where to store NSUserDefaults on this platform
470466
#endif
467+
if (prefDir) CFRelease(prefDir);
471468
return theURL;
472469
}
473470

@@ -607,7 +604,7 @@ CF_PRIVATE CFArrayRef _CFPreferencesCreateDomainList(CFStringRef userName, CFSt
607604
cachedDomains = (CFPreferencesDomainRef *)(cachedDomainKeys + cnt);
608605
CFDictionaryGetKeysAndValues(domainCache, (const void **)cachedDomainKeys, (const void **)cachedDomains);
609606
__CFUnlock(&domainCacheLock);
610-
suffix = _CFPreferencesCachePrefixForUserHost(userName, hostName);
607+
suffix = _CFPreferencesCreateCachePrefixForUserHost(userName, hostName);
611608
suffixLen = CFStringGetLength(suffix);
612609

613610
for (idx = 0; idx < cnt; idx ++) {
@@ -738,9 +735,8 @@ static void freeVolatileDomain(CFAllocatorRef allocator, CFTypeRef context, voi
738735
CFRelease((CFTypeRef)domain);
739736
}
740737

741-
static CFTypeRef fetchVolatileValue(CFTypeRef context, void *domain, CFStringRef key) {
742-
CFTypeRef result = CFDictionaryGetValue((CFMutableDictionaryRef )domain, key);
743-
if (result) CFRetain(result);
738+
static CFTypeRef fetchVolatileValue(CFTypeRef context, void *domain, CFStringRef key) {
739+
CFTypeRef result = CFDictionaryGetValue((CFMutableDictionaryRef )domain, key);
744740
return result;
745741
}
746742

0 commit comments

Comments
 (0)