Memory leak, `free(data)` is missing.