pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Intermittent failure of test 260


From: John Darrington
Subject: Intermittent failure of test 260
Date: Sat, 25 Sep 2021 21:27:16 +0200
User-agent: Mutt/1.10.1 (2018-07-13)

Running test 260 sometimes but not always crashes.

The problematic code seems to be in scan.c (merger_add) :

Although the comment says,   that OUT need not be initialised,
this code:

    case 3:
      if (in->type == T_STRING)
        {
          out->string = concat (out->string, in->string);
          return -1;
        }

can segfault if out->string.string == 0 and out->string.length > 0

This can happen because in lexer.c (lex_source_get_lookahead) passes
the address of a variable declared on the stack:

  struct token out;
  int retval = merger_add (&m, &lex_stage_nth (&src->merge, i)->token,
                                           &out);



J'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]