commit - 7ab0422aff525c78e854d0001ce01da9541b3cd5
commit + 0bb4abaee2617204613bd5d88c90e1c407a50cc3
blob - 07d58e1a0c7abcae6e6bc3ecd53d77f3bd512b5e
blob + 739dc463c5ac0a9c46b763779baeb00bb886279d
--- lib/reference.c
+++ lib/reference.c
const char delim[3] = {'\0', '\0', '\0'};
while (1) {
line = fparseln(f, &len, NULL, delim, 0);
- if (line == NULL)
- break;
+ if (line == NULL) {
+ if (feof(f))
+ break;
+ err = got_ferror(f, GOT_ERR_BAD_REF_DATA);
+ goto done;
+ }
err = parse_packed_ref_line(&ref, NULL, line);
+ free(line);
if (err)
goto done;
if (ref) {