Commit 1f57e540 authored by Thomas Van Lenten's avatar Thomas Van Lenten

When comparing message, require them to have the same descriptor.

This will cover someone subclassing the message, and also handles
something crazy like someone comparing to a raw NSObject.
parent cbe25059
......@@ -2591,13 +2591,14 @@ static void MergeRepeatedNotPackedFieldFromCodedInputStream(
if (other == self) {
return YES;
}
if (![other isKindOfClass:[self class]] &&
![self isKindOfClass:[other class]]) {
if (![other isKindOfClass:[GPBMessage class]]) {
return NO;
}
GPBMessage *otherMsg = other;
GPBDescriptor *descriptor = [[self class] descriptor];
if ([[otherMsg class] descriptor] != descriptor) {
return NO;
}
uint8_t *selfStorage = (uint8_t *)messageStorage_;
uint8_t *otherStorage = (uint8_t *)otherMsg->messageStorage_;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment