mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 15:12:21 +00:00
Fixed crash in password creation code
This commit is contained in:
@@ -46,7 +46,13 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) {
|
|||||||
NSMutableString *password = [NSMutableString stringWithCapacity:length];
|
NSMutableString *password = [NSMutableString stringWithCapacity:length];
|
||||||
NSString *characters = allowedCharactersString(allowedCharacters);
|
NSString *characters = allowedCharactersString(allowedCharacters);
|
||||||
while([password length] < length) {
|
while([password length] < length) {
|
||||||
[password appendString:[characters randomCharacter]];
|
NSString *randomCharacter = [characters randomCharacter];
|
||||||
|
if([randomCharacter length] > 0) {
|
||||||
|
[password appendString:randomCharacter];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return password;
|
return password;
|
||||||
}
|
}
|
||||||
@@ -69,6 +75,9 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)randomCharacter {
|
- (NSString *)randomCharacter {
|
||||||
|
if([self length] == 0) {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
NSData *data = [NSData dataWithRandomBytes:sizeof(unsigned long)];
|
NSData *data = [NSData dataWithRandomBytes:sizeof(unsigned long)];
|
||||||
NSUInteger randomIndex;
|
NSUInteger randomIndex;
|
||||||
[data getBytes:&randomIndex length:[data length]];
|
[data getBytes:&randomIndex length:[data length]];
|
||||||
|
|||||||
Reference in New Issue
Block a user