Skip to content

Commit 2cac1f5

Browse files
authored
Only assign errors if parameter is non-NULL. (#4168)
* Only assign errors if parameter is non-NULL. This fixes #4164. * Remove unnecessary commenting. * Remove other unnecessary comment.
1 parent 441d7ed commit 2cac1f5

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

Functions/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Unreleased
2+
- [fixed] Fix internal analyzer issue with error assignment (#4164).
3+
14
# v2.4.0
25
- [added] Introduce community support for tvOS and macOS (#2506).
36

Functions/FirebaseFunctions/FUNSerializer.m

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,9 @@ - (nullable id)decodeWrappedType:(NSDictionary *)wrapped error:(NSError **)error
153153
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
154154
NSNumber *n = [formatter numberFromString:value];
155155
if (n == nil) {
156-
*error = FUNInvalidNumberError(value, wrapped);
156+
if (error != NULL) {
157+
*error = FUNInvalidNumberError(value, wrapped);
158+
}
157159
return nil;
158160
}
159161
return n;
@@ -164,12 +166,16 @@ - (nullable id)decodeWrappedType:(NSDictionary *)wrapped error:(NSError **)error
164166
unsigned long long n = strtoull(str, &end, 10);
165167
if (errno == ERANGE) {
166168
// This number was actually too big for an unsigned long long.
167-
*error = FUNInvalidNumberError(value, wrapped);
169+
if (error != NULL) {
170+
*error = FUNInvalidNumberError(value, wrapped);
171+
}
168172
return nil;
169173
}
170174
if (*end) {
171175
// The whole string wasn't parsed.
172-
*error = FUNInvalidNumberError(value, wrapped);
176+
if (error != NULL) {
177+
*error = FUNInvalidNumberError(value, wrapped);
178+
}
173179
return nil;
174180
}
175181
return @(n);
@@ -202,7 +208,9 @@ - (nullable id)decode:(id)object error:(NSError **)error {
202208
decoded[key] = decodedItem;
203209
}];
204210
if (decodeError) {
205-
*error = decodeError;
211+
if (error != NULL) {
212+
*error = decodeError;
213+
}
206214
return nil;
207215
}
208216
return decoded;

0 commit comments

Comments
 (0)