Initialize ef so that it's easier for gcc to analyze that it's correct.
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c index fee7b52..6ec2db3 100644 --- a/lib/zip_extra_field.c +++ b/lib/zip_extra_field.c
@@ -214,7 +214,7 @@ const zip_uint8_t *p; zip_uint16_t fid, flen; - ef_head = NULL; + ef_head = ef = NULL; for (p=data; p<data+len; p+=flen) { if (p+4 > data+len) { _zip_error_set(error, ZIP_ER_INCONS, 0);