Commits

Andrew Kuchling  committed 7bbff2e

[Backport r51222 | neal.norwitz -- if you hack the code to set r=NULL,
you find that Python does print "MemoryError". There's no traceback
and no indication of which line of code is responsible, but it's
better than a segfault.]

Handle NULL nodes while parsing. I'm not entirely sure this is correct.
There might be something else that needs to be done to setup the error.

Klocwork #295.

  • Participants
  • Parent commits 4663ace
  • Branches 2.4

Comments (0)

Files changed (1)

File Parser/parsetok.c

 		}
 	} else if (tok->encoding != NULL) {
 		node* r = PyNode_New(encoding_decl);
+		if (!r) {
+			err_ret->error = E_NOMEM;
+			n = NULL;
+			goto done;
+		}
 		r->n_str = tok->encoding;
 		r->n_nchildren = 1;
 		r->n_child = n;
 		n = r;
 	}
 
+done:
 	PyTokenizer_Free(tok);
 
 	return n;