return linux_dmabuf;
failed:
- for (i = 0; i < linux_dmabuf->num_formats; i++) {
- if (linux_dmabuf->supported_formats[i].modifiers)
- free(linux_dmabuf->supported_formats[i].modifiers);
+ if (linux_dmabuf->supported_formats) {
+ for (i = 0; i < linux_dmabuf->num_formats; i++) {
+ if (linux_dmabuf->supported_formats[i].modifiers)
+ free(linux_dmabuf->supported_formats[i].modifiers);
+ }
+
+ free(linux_dmabuf->supported_formats);
}
- free(linux_dmabuf->supported_formats);
free(linux_dmabuf);
return NULL;