<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 16, 2016 at 1:55 PM, Philipp Zabel <span dir="ltr"><<a href="mailto:philipp.zabel@gmail.com" target="_blank">philipp.zabel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fix a NULL pointer dereference in anv_CreateInstance in case<br>
the pApplicationInfo field of the supplied VkInstanceCreateInfo<br>
structure is NULL [1].<br>
<br>
[1] <a href="https://www.khronos.org/registry/vulkan/specs/1.0/apispec.html#VkInstanceCreateInfo" rel="noreferrer" target="_blank">https://www.khronos.org/registry/vulkan/specs/1.0/apispec.html#VkInstanceCreateInfo</a><br>
<br>
Signed-off-by: Philipp Zabel <<a href="mailto:philipp.zabel@gmail.com">philipp.zabel@gmail.com</a>><br>
---<br>
 src/vulkan/anv_device.c | 6 ++++--<br>
 1 file changed, 4 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/src/vulkan/anv_device.c b/src/vulkan/anv_device.c<br>
index a6ce176..6863906 100644<br>
--- a/src/vulkan/anv_device.c<br>
+++ b/src/vulkan/anv_device.c<br>
@@ -214,7 +214,9 @@ VkResult anv_CreateInstance(<br>
<br>
    assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);<br>
<br>
-   uint32_t client_version = pCreateInfo->pApplicationInfo->apiVersion;<br>
+   uint32_t client_version = pCreateInfo->pApplicationInfo ?<br>
+                             pCreateInfo->pApplicationInfo->apiVersion :<br>
+                             VK_MAKE_VERSION(1, 0, 0);<br></blockquote><div><br></div><div>That seems like a reasonable thing to do.  Kind of silly not to provide a version though.<br><br></div><div>Pushed.  thanks!<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    if (VK_MAKE_VERSION(1, 0, 0) > client_version ||<br>
        client_version > VK_MAKE_VERSION(1, 0, 3)) {<br>
       return vk_errorf(VK_ERROR_INCOMPATIBLE_DRIVER,<br>
@@ -249,7 +251,7 @@ VkResult anv_CreateInstance(<br>
    else<br>
       instance->alloc = default_alloc;<br>
<br>
-   instance->apiVersion = pCreateInfo->pApplicationInfo->apiVersion;<br>
+   instance->apiVersion = client_version;<br>
    instance->physicalDeviceCount = -1;<br>
<br>
    _mesa_locale_init();<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.7.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>