static int
 bpf_object__init_license(struct bpf_object *obj, void *data, size_t size)
 {
+       if (!data) {
+               pr_warn("invalid license section in %s\n", obj->path);
+               return -LIBBPF_ERRNO__FORMAT;
+       }
        /* libbpf_strlcpy() only copies first N - 1 bytes, so size + 1 won't
         * go over allowed ELF data section buffer
         */
 {
        __u32 kver;
 
-       if (size != sizeof(kver)) {
+       if (!data || size != sizeof(kver)) {
                pr_warn("invalid kver section in %s\n", obj->path);
                return -LIBBPF_ERRNO__FORMAT;
        }