Skip to content

Commit 4650513

Browse files
vivien-applepull[bot]
authored andcommitted
[clang-tidy] Fix a clang-analyzer-nullability.NullablePassedToNonnull occurence in src/platform/Darwin/KeyValueStoreManagerImpl.mm (#15586)
1 parent eca2281 commit 4650513

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/platform/Darwin/KeyValueStoreManagerImpl.mm

+10-5
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,11 @@ - (instancetype)initWithContext:(nonnull NSManagedObjectContext *)context key:(n
152152
ReturnErrorCodeIf(fileName[0] == '\0', CHIP_ERROR_INVALID_ARGUMENT);
153153

154154
NSURL * url = nullptr;
155+
NSString * filepath = [NSString stringWithUTF8String:fileName];
156+
ReturnErrorCodeIf(filepath == nil, CHIP_ERROR_INVALID_ARGUMENT);
155157

156158
// relative paths are relative to Documents folder
157-
if (fileName[0] != '/') {
159+
if ([filepath hasPrefix:@"/"]) {
158160
NSURL * documentsDirectory = [NSFileManager.defaultManager URLForDirectory:NSDocumentDirectory
159161
inDomain:NSUserDomainMask
160162
appropriateForURL:nil
@@ -167,9 +169,9 @@ - (instancetype)initWithContext:(nonnull NSManagedObjectContext *)context key:(n
167169
ChipLogProgress(
168170
DeviceLayer, "Found user documents directory: %s", [[documentsDirectory absoluteString] UTF8String]);
169171

170-
url = [NSURL URLWithString:[NSString stringWithUTF8String:fileName] relativeToURL:documentsDirectory];
172+
url = [NSURL URLWithString:filepath relativeToURL:documentsDirectory];
171173
} else {
172-
url = [NSURL fileURLWithPath:[NSString stringWithUTF8String:fileName]];
174+
url = [NSURL fileURLWithPath:filepath];
173175
}
174176
ReturnErrorCodeIf(url == nullptr, CHIP_ERROR_NO_MEMORY);
175177

@@ -274,9 +276,12 @@ - (instancetype)initWithContext:(nonnull NSManagedObjectContext *)context key:(n
274276

275277
NSData * data = [[NSData alloc] initWithBytes:value length:value_size];
276278

277-
KeyValueItem * item = FindItemForKey([[NSString alloc] initWithUTF8String:key], nil);
279+
NSString * itemKey = [[NSString alloc] initWithUTF8String:key];
280+
ReturnErrorCodeIf(itemKey == nil, CHIP_ERROR_INVALID_ARGUMENT);
281+
282+
KeyValueItem * item = FindItemForKey(itemKey, nil);
278283
if (!item) {
279-
item = [[KeyValueItem alloc] initWithContext:gContext key:[[NSString alloc] initWithUTF8String:key] value:data];
284+
item = [[KeyValueItem alloc] initWithContext:gContext key:itemKey value:data];
280285
[gContext performBlockAndWait:^{
281286
[gContext insertObject:item];
282287
}];

0 commit comments

Comments
 (0)