On 9/11/24 15:37, Jakub Palacky wrote: > xmlParserCtxt->lastError was deprecated in libxml2 v2.13.0-103-g1228b4e0 > xmlCtxtGetLastError(xmlParserCtxt) should be used instead > > Signed-off-by: Jakub Palacky <jpalacky@xxxxxxxxxx> > --- > src/util/virxml.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/src/util/virxml.c b/src/util/virxml.c > index a7b75fd7b3..b72b63f55f 100644 > --- a/src/util/virxml.c > +++ b/src/util/virxml.c > @@ -1035,8 +1035,8 @@ catchXMLError(void *ctx, const char *msg G_GNUC_UNUSED, ...) > if (!ctxt || > (virGetLastErrorCode()) || > ctxt->input == NULL || > - ctxt->lastError.level != XML_ERR_FATAL || > - ctxt->lastError.message == NULL) > + xmlCtxtGetLastError(ctxt)->level != XML_ERR_FATAL || > + xmlCtxtGetLastError(ctxt)->message == NULL) Looking at xmlCtxtGetLastError() it can return NULL. From parseInternals.c: const xmlError * xmlCtxtGetLastError(void *ctx) { xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; if (ctxt == NULL) return (NULL); if (ctxt->lastError.code == XML_ERR_OK) return (NULL); return (&ctxt->lastError); } Now, ctxt == NULL is checked for by us, so that shouldn't happen. But ctxt->lasterror.code == XML_ERR_OK could happen, though - this is in a callback function that's supposed to be called when an error occurred. Nevertheless, I'd feel a bit safer if xmlCtxtGetLastError()'s retval was checked for before dereferencing it. Michal