aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/core/wheel.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/core/wheel.c b/src/lib/core/wheel.c
index 91b1761..415def9 100644
--- a/src/lib/core/wheel.c
+++ b/src/lib/core/wheel.c
@@ -982,13 +982,14 @@ void wheel_metadata_free(struct WheelMetadata *meta) {
guard_strlist_free(&meta->requires_dist);
guard_strlist_free(&meta->keywords);
guard_strlist_free(&meta->license_file);
-
- for (size_t i = 0; meta->provides_extra[i] != NULL; i++) {
- guard_free(meta->provides_extra[i]->target);
- guard_strlist_free(&meta->provides_extra[i]->requires_dist);
- guard_free(meta->provides_extra[i]);
+ if (meta->provides_extra) {
+ for (size_t i = 0; meta->provides_extra[i] != NULL; i++) {
+ guard_free(meta->provides_extra[i]->target);
+ guard_strlist_free(&meta->provides_extra[i]->requires_dist);
+ guard_free(meta->provides_extra[i]);
+ }
+ guard_free(meta->provides_extra);
}
- guard_free(meta->provides_extra);
guard_free(meta);
}