The `archive_entry_symlink()` API can definitely return `NULL`, reading through the libarchive sources. I hit this in the wild when using old ostree-ext to try to unpack a chunked archive. I didn't try to characterize this more, and sorry no unit test right now.