You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1015 B

  1. From 6088a74bcf7d0c42e24cff4594d804e1d3c9fbca Mon Sep 17 00:00:00 2001
  2. From: Zhipeng Xie <xiezhipeng1@huawei.com>
  3. Date: Tue, 20 Aug 2019 16:33:06 +0800
  4. Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream
  5. When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun
  6. alloc a new schema for ctxt->schema and set vctxt->xsiAssemble
  7. to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize
  8. vctxt->xsiAssemble to 0 again which cause the alloced schema
  9. can not be freed anymore.
  10. Found with libFuzzer.
  11. Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
  12. ---
  13. xmlschemas.c | 1 -
  14. 1 file changed, 1 deletion(-)
  15. diff --git a/xmlschemas.c b/xmlschemas.c
  16. index 301c84499..39d92182f 100644
  17. --- a/xmlschemas.c
  18. +++ b/xmlschemas.c
  19. @@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
  20. vctxt->nberrors = 0;
  21. vctxt->depth = -1;
  22. vctxt->skipDepth = -1;
  23. - vctxt->xsiAssemble = 0;
  24. vctxt->hasKeyrefs = 0;
  25. #ifdef ENABLE_IDC_NODE_TABLES_TEST
  26. vctxt->createIDCNodeTables = 1;
  27. --
  28. GitLab