Files
libreoffice/basic/qa/basic_coverage/test_tdf150137_parse_fail.bas
Aron Budea c9e8638015 tdf#150137 fastparser: don't crash on undeclared namespace
Change-Id: Icc8bbb391c7e34754b7274d67d73ff509827a3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155381
Tested-by: Aron Budea <aron.budea@collabora.com>
Reviewed-by: Aron Budea <aron.budea@collabora.com>
2023-08-07 17:38:30 +02:00

38 lines
1.1 KiB
QBasic

'
' This file is part of the LibreOffice project.
'
' This Source Code Form is subject to the terms of the Mozilla Public
' License, v. 2.0. If a copy of the MPL was not distributed with this
' file, You can obtain one at http://mozilla.org/MPL/2.0/.
'
Option Explicit
Function doUnitTest() As String
On Error GoTo ErrorHandler ' Set up error handler
Dim Xml As String
Dim XmlLen As Long
' Not namespace-well-formed XML, parse is expected to fail
Xml = "<a:xml/>"
XmlLen = Len(Xml)
Dim XmlByte(1 To XmlLen) As Byte
Dim Index As Integer
For Index = 1 To XmlLen
XmlByte(Index) = Asc(Mid(Xml, Index, 1))
Next
Dim source As Object
source = CreateUnoStruct("com.sun.star.xml.sax.InputSource")
source.aInputStream = com.sun.star.io.SequenceInputStream.createStreamFromSequence(XmlByte)
Dim parser As Object
parser = CreateUnoService("com.sun.star.xml.sax.FastParser")
' Parse crashed before the fix
parser.ParseStream(source)
' Shouldn't end up here
doUnitTest = "FAIL"
Exit Function
ErrorHandler:
doUnitTest = "OK"
End Function