Fixed crash in password creation code

This commit is contained in:
michael starke
2014-10-21 20:27:09 +02:00
parent 8922914502
commit d25efba423

View File

@@ -46,7 +46,13 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) {
NSMutableString *password = [NSMutableString stringWithCapacity:length];
NSString *characters = allowedCharactersString(allowedCharacters);
while([password length] < length) {
[password appendString:[characters randomCharacter]];
NSString *randomCharacter = [characters randomCharacter];
if([randomCharacter length] > 0) {
[password appendString:randomCharacter];
}
else {
break;
}
}
return password;
}
@@ -69,6 +75,9 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) {
}
- (NSString *)randomCharacter {
if([self length] == 0) {
return nil;
}
NSData *data = [NSData dataWithRandomBytes:sizeof(unsigned long)];
NSUInteger randomIndex;
[data getBytes:&randomIndex length:[data length]];