Skip to content

Commit 1953e37

Browse files
committed
Add nullptr check conditions
1 parent 0c8cc6e commit 1953e37

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

apache2/msc_xml.c

+8-4
Original file line numberDiff line numberDiff line change
@@ -238,15 +238,17 @@ int xml_process_chunk(modsec_rec *msr, const char *buf, unsigned int size, char
238238

239239
/* Not a first invocation. */
240240
msr_log(msr, 4, "XML: Continue parsing.");
241-
if (msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_ONLYARGS) {
241+
if (msr->xml->parsing_ctx != NULL &&
242+
msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_ONLYARGS) {
242243
xmlParseChunk(msr->xml->parsing_ctx, buf, size, 0);
243244
if (msr->xml->parsing_ctx->wellFormed != 1) {
244245
*error_msg = apr_psprintf(msr->mp, "XML: Failed parsing document.");
245246
return -1;
246247
}
247248
}
248249

249-
if (msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_OFF) {
250+
if (msr->xml->parsing_ctx_arg != NULL &&
251+
msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_OFF) {
250252
if (xmlParseChunk(msr->xml->parsing_ctx_arg, buf, size, 0) != 0) {
251253
if (msr->xml->xml_error) {
252254
*error_msg = msr->xml->xml_error;
@@ -276,7 +278,8 @@ int xml_complete(modsec_rec *msr, char **error_msg) {
276278

277279
/* Only if we have a context, meaning we've done some work. */
278280
if (msr->xml->parsing_ctx != NULL || msr->xml->parsing_ctx_arg != NULL) {
279-
if (msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_ONLYARGS) {
281+
if (msr->xml->parsing_ctx != NULL &&
282+
msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_ONLYARGS) {
280283
/* This is how we signalise the end of parsing to libxml. */
281284
xmlParseChunk(msr->xml->parsing_ctx, NULL, 0, 1);
282285

@@ -295,7 +298,8 @@ int xml_complete(modsec_rec *msr, char **error_msg) {
295298
}
296299
}
297300

298-
if (msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_OFF) {
301+
if (msr->xml->parsing_ctx_arg != NULL &&
302+
msr->txcfg->parse_xml_into_args != MSC_XML_ARGS_OFF) {
299303
if (xmlParseChunk(msr->xml->parsing_ctx_arg, NULL, 0, 1) != 0) {
300304
if (msr->xml->xml_error) {
301305
*error_msg = msr->xml->xml_error;

0 commit comments

Comments
 (0)