mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
bidi_test: minor memory fixes.
Spotted by Coverity: if you _just_ gave a filename to bidi_test, without any previous argument that set testfn to something other than NULL, the program would crash rather than giving an error message. (It's only a test program, but test programs you only run once in a blue moon are the ones that _most_ need to explain their command-line syntax to you carefully, because you've forgotten it since last time you used them!) Also, conditionalised a memcpy on the size not being 0, because it's illegal to pass a null pointer to memcpy _even_ if size==0. (That would only happen with a test case containing a zero-length string, but whatever.)
This commit is contained in:
parent
6344e40e3f
commit
6d77541080
@ -44,6 +44,7 @@ static void run_test(const char *filename, unsigned lineno,
|
||||
{
|
||||
size_t bcs_orig_len = bcs_len;
|
||||
bidi_char *bcs_orig = snewn(bcs_orig_len, bidi_char);
|
||||
if (bcs_orig_len)
|
||||
memcpy(bcs_orig, bcs, bcs_orig_len * sizeof(bidi_char));
|
||||
|
||||
bcs_len = do_bidi_test(ctx, bcs, bcs_len, override);
|
||||
@ -335,6 +336,12 @@ int main(int argc, char **argv)
|
||||
} else {
|
||||
const char *filename = arg;
|
||||
|
||||
if (!testfn) {
|
||||
fprintf(stderr, "no mode argument provided before filename "
|
||||
"'%s'\n", filename);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!strcmp(filename, "-")) {
|
||||
testfn("<standard input>", stdin);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user