Skip to content

Commit 10295ba

Browse files
authored
Fix double free bug inside IN Filter (#10535)
1 parent d419ed6 commit 10295ba

18 files changed

+90
-40
lines changed

Firestore/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 App crashed when there are nested data structures inside IN Filter.
3+
14
# 10.3.0
25
- [feature] Add MultiDb support.
36

Firestore/Example/Tests/API/FSTUserDataReaderTests.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
namespace nanopb = firebase::firestore::nanopb;
3737
using firebase::Timestamp;
3838
using firebase::firestore::GeoPoint;
39-
using firebase::firestore::api::MakeGeoPoint;
40-
using firebase::firestore::api::MakeTimestamp;
4139
using firebase::firestore::google_firestore_v1_ArrayValue;
4240
using firebase::firestore::google_firestore_v1_Value;
41+
using firebase::firestore::api::MakeGeoPoint;
42+
using firebase::firestore::api::MakeTimestamp;
4343
using firebase::firestore::model::ArrayTransform;
4444
using firebase::firestore::model::DatabaseId;
4545
using firebase::firestore::model::FieldPath;

Firestore/Example/Tests/Integration/API/FIRBundlesTests.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
#include "Firestore/core/test/unit/testutil/bundle_builder.h"
2828

2929
using firebase::firestore::testutil::CreateBundle;
30-
using firebase::firestore::util::MakeString;
3130
using firebase::firestore::util::MakeNSString;
31+
using firebase::firestore::util::MakeString;
3232

3333
@interface FIRBundlesTests : FSTIntegrationTestCase
3434
@end

Firestore/Example/Tests/Integration/FSTDatastoreTests.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@
5555
#include "absl/memory/memory.h"
5656

5757
using firebase::Timestamp;
58+
using firebase::firestore::google_firestore_v1_Value;
5859
using firebase::firestore::core::DatabaseInfo;
5960
using firebase::firestore::credentials::EmptyAppCheckCredentialsProvider;
6061
using firebase::firestore::credentials::EmptyAuthCredentialsProvider;
6162
using firebase::firestore::credentials::User;
62-
using firebase::firestore::google_firestore_v1_Value;
6363
using firebase::firestore::local::LocalStore;
6464
using firebase::firestore::local::MemoryPersistence;
6565
using firebase::firestore::local::Persistence;

Firestore/Example/Tests/SpecTests/FSTMemorySpecTests.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424

2525
NS_ASSUME_NONNULL_BEGIN
2626

27-
using firebase::firestore::local::MemoryPersistenceWithLruGcForTesting;
2827
using firebase::firestore::local::MemoryPersistenceWithEagerGcForTesting;
28+
using firebase::firestore::local::MemoryPersistenceWithLruGcForTesting;
2929
using firebase::firestore::local::Persistence;
3030

3131
/**

Firestore/Example/Tests/SpecTests/FSTSpecTests.mm

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,18 @@
7575

7676
namespace objc = firebase::firestore::objc;
7777
using firebase::firestore::Error;
78+
using firebase::firestore::google_firestore_v1_ArrayValue;
79+
using firebase::firestore::google_firestore_v1_Value;
7880
using firebase::firestore::api::LoadBundleTask;
7981
using firebase::firestore::bundle::BundleReader;
8082
using firebase::firestore::bundle::BundleSerializer;
8183
using firebase::firestore::core::DocumentViewChange;
8284
using firebase::firestore::core::Query;
8385
using firebase::firestore::credentials::User;
84-
using firebase::firestore::google_firestore_v1_ArrayValue;
85-
using firebase::firestore::google_firestore_v1_Value;
8686
using firebase::firestore::local::Persistence;
8787
using firebase::firestore::local::QueryPurpose;
8888
using firebase::firestore::local::TargetData;
8989
using firebase::firestore::model::Document;
90-
using firebase::firestore::model::Document;
9190
using firebase::firestore::model::DocumentKey;
9291
using firebase::firestore::model::DocumentKeySet;
9392
using firebase::firestore::model::MutableDocument;
@@ -117,8 +116,8 @@
117116
using firebase::firestore::util::Path;
118117
using firebase::firestore::util::Status;
119118
using firebase::firestore::util::TimerId;
120-
using firebase::firestore::util::WrapCompare;
121119
using firebase::firestore::util::ToString;
120+
using firebase::firestore::util::WrapCompare;
122121

123122
NS_ASSUME_NONNULL_BEGIN
124123

Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
#include "Firestore/core/test/unit/testutil/async_testing.h"
6161
#include "absl/memory/memory.h"
6262

63-
using firebase::firestore::api::LoadBundleTask;
6463
using firebase::firestore::Error;
64+
using firebase::firestore::api::LoadBundleTask;
6565
using firebase::firestore::bundle::BundleReader;
6666
using firebase::firestore::core::DatabaseInfo;
6767
using firebase::firestore::core::EventListener;
@@ -75,9 +75,9 @@
7575
using firebase::firestore::credentials::EmptyAuthCredentialsProvider;
7676
using firebase::firestore::credentials::HashUser;
7777
using firebase::firestore::credentials::User;
78-
using firebase::firestore::local::QueryEngine;
7978
using firebase::firestore::local::LocalStore;
8079
using firebase::firestore::local::Persistence;
80+
using firebase::firestore::local::QueryEngine;
8181
using firebase::firestore::local::TargetData;
8282
using firebase::firestore::model::DatabaseId;
8383
using firebase::firestore::model::DocumentKey;
@@ -87,9 +87,9 @@
8787
using firebase::firestore::model::OnlineState;
8888
using firebase::firestore::model::SnapshotVersion;
8989
using firebase::firestore::model::TargetId;
90+
using firebase::firestore::remote::ConnectivityMonitor;
9091
using firebase::firestore::remote::CreateFirebaseMetadataProviderNoOp;
9192
using firebase::firestore::remote::CreateNoOpConnectivityMonitor;
92-
using firebase::firestore::remote::ConnectivityMonitor;
9393
using firebase::firestore::remote::FirebaseMetadataProvider;
9494
using firebase::firestore::remote::MockDatastore;
9595
using firebase::firestore::remote::RemoteStore;

Firestore/Example/Tests/Util/FSTHelpers.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,16 @@
3333

3434
#import "Firestore/core/test/unit/testutil/testutil.h"
3535

36+
using firebase::firestore::google_firestore_v1_Value;
3637
using firebase::firestore::core::ParsedSetData;
3738
using firebase::firestore::core::ParsedUpdateData;
38-
using firebase::firestore::google_firestore_v1_Value;
3939
using firebase::firestore::model::DatabaseId;
4040
using firebase::firestore::model::DeleteMutation;
4141
using firebase::firestore::model::DocumentKey;
4242
using firebase::firestore::model::FieldPath;
4343
using firebase::firestore::model::GetTypeOrder;
44-
using firebase::firestore::model::ObjectValue;
4544
using firebase::firestore::model::Mutation;
45+
using firebase::firestore::model::ObjectValue;
4646
using firebase::firestore::model::PatchMutation;
4747
using firebase::firestore::model::Precondition;
4848
using firebase::firestore::model::SetMutation;

Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757

5858
using firebase::firestore::core::DatabaseInfo;
5959
using firebase::firestore::credentials::CredentialChangeListener;
60-
using firebase::firestore::credentials::EmptyAuthCredentialsProvider;
6160
using firebase::firestore::credentials::EmptyAppCheckCredentialsProvider;
61+
using firebase::firestore::credentials::EmptyAuthCredentialsProvider;
6262
using firebase::firestore::credentials::User;
6363
using firebase::firestore::local::LevelDbOpener;
6464
using firebase::firestore::model::DatabaseId;

Firestore/Source/API/FIRDocumentReference.mm

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
using firebase::firestore::api::DocumentSnapshotListener;
5151
using firebase::firestore::api::Firestore;
5252
using firebase::firestore::api::ListenerRegistration;
53-
using firebase::firestore::api::Source;
5453
using firebase::firestore::api::MakeSource;
54+
using firebase::firestore::api::Source;
5555
using firebase::firestore::core::EventListener;
5656
using firebase::firestore::core::ListenOptions;
5757
using firebase::firestore::core::ParsedSetData;
@@ -62,7 +62,6 @@
6262
using firebase::firestore::util::MakeNSString;
6363
using firebase::firestore::util::MakeString;
6464
using firebase::firestore::util::StatusOr;
65-
using firebase::firestore::util::StatusOr;
6665
using firebase::firestore::util::StatusOrCallback;
6766
using firebase::firestore::util::ThrowInvalidArgument;
6867

0 commit comments

Comments
 (0)