101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
-
+
-
+
-
+
|
optionsParser.lastOption];
[OFApplication terminateWithStatus: 1];
break;
}
}
if ([[optionsParser remainingArguments] count] != 1) {
if (optionsParser.remainingArguments.count != 1) {
showHelp(of_stderr, false);
[OFApplication terminateWithStatus: 1];
}
id <PasswordGenerator> generator = (_legacy
? [LegacyPasswordGenerator generator]
: [NewPasswordGenerator generator]);
generator.site = [[optionsParser remainingArguments] firstObject];
generator.site = optionsParser.remainingArguments.firstObject;
if (lengthString != nil) {
bool invalid = false;
@try {
generator.length = (size_t)[lengthString decimalValue];
generator.length = (size_t)lengthString.decimalValue;
} @catch (OFInvalidFormatException *e) {
invalid = true;
} @catch (OFOutOfRangeException *e) {
invalid = true;
}
if (invalid) {
|
186
187
188
189
190
191
192
193
194
195
196
197
198
|
186
187
188
189
190
191
192
193
194
195
196
197
198
|
-
+
|
of_explicit_memset(generator.output, 0,
generator.length);
}
} @finally {
of_explicit_memset(passphrase, 0, strlen(passphrase));
if (keyfile != nil)
of_explicit_memset([keyfile items], 0, [keyfile count]);
of_explicit_memset(keyfile.items, 0, keyfile.count);
}
[OFApplication terminate];
}
@end
|