zyga/json-schema-validator — pull request #6 by mwhudson (2012-03-11 23:33:18+00:00)
Title: Ensure that every _push_*'s matching _pop_* is in a finally block.

Because validating a type union can have a sub-validation fail but continue
processing, it is important that a failing validation does not leave the schema
and object stacks messed up.

Here's a silly example that shows the problem:

```python -c 'import sys, json, json_schema_validator.validator, json_schema_validator.schema; s = json_schema_validator.schema.Schema(json.loads(sys.argv[1])); json_schema_validator.validator.Validator.validate(s, json.loads(sys.argv[2]))' '{"type":[{"properties":{"a":{}}, "additionalProperties":false}, {"properties":{"b":{}}}]}' '{"b":1}'```

(it fails on your master, passes in this one)