[ 
https://issues.apache.org/jira/browse/CAMEL-22493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-22493:
--------------------------------
    Fix Version/s: 4.14.2
                   4.16.0

> camel-rest-openapi: Potential NPE in OpenApiUtils.isArrayType
> -------------------------------------------------------------
>
>                 Key: CAMEL-22493
>                 URL: https://issues.apache.org/jira/browse/CAMEL-22493
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-rest-openapi
>            Reporter: James Netherton
>            Priority: Minor
>             Fix For: 4.14.2, 4.16.0
>
>         Attachments: openapi.yaml, rest.camel.yaml
>
>
> See further details from a user on Zulip:
> https://camel.zulipchat.com/#narrow/channel/257302-camel-quarkus/topic/Contract.20first.20issue.20with.20camel-rest-openapi/with/542936888
> With the attached OpenAPI contract first route & and OpenAPI spec, 
> OpenApiUtils.isArrayType throws an NPE. There's no null guard around 
> schema.getTypes() before the attempting to chain to .stream(). 
> OpenApiUtils.getSchemaType() does have such a check.
> {code}
> (main) Failed to start application: java.lang.NullPointerException: Cannot 
> invoke "java.util.Set.stream()" because the return value of 
> "io.swagger.v3.oas.models.media.Schema.getTypes()" is null
>         at 
> org.apache.camel.component.rest.openapi.OpenApiUtils.isArrayType(OpenApiUtils.java:225)
>         at 
> org.apache.camel.component.rest.openapi.OpenApiUtils.loadBindingClassForJson(OpenApiUtils.java:196)
>         at 
> org.apache.camel.component.rest.openapi.OpenApiUtils.loadBindingClass(OpenApiUtils.java:175)
>         at 
> org.apache.camel.component.rest.openapi.OpenApiUtils.findClass(OpenApiUtils.java:158)
>         at 
> org.apache.camel.component.rest.openapi.OpenApiUtils.manageRequestBody(OpenApiUtils.java:133)
>         at 
> org.apache.camel.component.rest.openapi.RestOpenApiProcessor.createRestBindingConfiguration(RestOpenApiProcessor.java:220)
>         at 
> org.apache.camel.component.rest.openapi.RestOpenApiProcessor.doInit(RestOpenApiProcessor.java:160)
>         at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>         at 
> org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84)
>         at 
> org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:101)
>         at 
> org.apache.camel.support.DefaultConsumer.doInit(DefaultConsumer.java:223)
>         at 
> org.apache.camel.component.platform.http.DefaultPlatformHttpConsumer.doInit(DefaultPlatformHttpConsumer.java:69)
>         at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:115)
>         at 
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:126)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3346)
>         at 
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRouteConsumers(InternalRouteStartupManager.java:428)
>         at 
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartRouteConsumers(InternalRouteStartupManager.java:344)
>         at 
> org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:222)
>         at 
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2952)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2565)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2520)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2119)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to