Skip to content

Commit 9811978

Browse files
Fix crash when receiving broken OMEMO bundles
1 parent cc8ee55 commit 9811978

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Monal/Classes/MLOMEMO.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ -(void) queryOMEMOBundleFrom:(NSString*) jid andDevice:(NSNumber*) deviceid
686686
[self processOMEMOKeys:receivedKeys forJid:jid andRid:rid];
687687

688688
NSData* newIdentity = [self.monalSignalStore getIdentityForAddress:address];
689-
if(oldIdentity == nil || ![oldIdentity isEqual:newIdentity])
689+
if(oldIdentity == nil || (newIdentity != nil && ![oldIdentity isEqual:newIdentity]))
690690
{
691691
NSString* trustLevel = trustLevels2Text[[self.monalSignalStore getTrustLevel:address identityKey:newIdentity]];
692692
[self postOMEMOMessageForUser:jid withMessage:[NSString stringWithFormat:NSLocalizedString(@"OMEMO: Detected new %@ device with id: %@", @"OMEMO warning shown inside chat view"), trustLevel, rid]];
@@ -698,7 +698,7 @@ -(void) queryOMEMOBundleFrom:(NSString*) jid andDevice:(NSNumber*) deviceid
698698
{
699699
//only show warning, if we don't already know this deviceid
700700
//(e.g. a really new device, not a devicelist removal followed by adding it back)
701-
if((oldIdentity == nil || ![oldIdentity isEqual:newIdentity]) && [rid unsignedIntValue] != self.monalSignalStore.deviceid)
701+
if((oldIdentity == nil || (newIdentity != nil && ![oldIdentity isEqual:newIdentity])) && [rid unsignedIntValue] != self.monalSignalStore.deviceid)
702702
{
703703
NSString* trustLevel = trustLevels2Text[[self.monalSignalStore getTrustLevel:address identityKey:newIdentity]];
704704
DDLogWarn(@"Got new %@ deviceid %@ for own account %@", trustLevel, rid, jid);

0 commit comments

Comments
 (0)