commit - 56bef47ace1a7a76503a86a73aa58d022e7f9006
commit + faaa1c0fd279a45c741fd87aa9369924976c886b
blob - a6731723b35cc9a1ee34da07102b0a30cdbb2161
blob + 4d61efe62b805d605307c413fcd382d327362dcc
--- lib/pack.c
+++ lib/pack.c
goto done;
}
n = read(p->fd, h->magic, sizeof(*h->magic));
- if (n != sizeof(*h->magic)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != sizeof(*h->magic)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->version, sizeof(*h->version));
- if (n != sizeof(*h->version)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != sizeof(*h->version)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->fanout_table, len_fanout);
- if (n != len_fanout) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != len_fanout) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->sorted_ids, len_ids);
- if (n != len_ids) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != len_ids) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->crc32, nobj * sizeof(*h->crc32));
- if (n != nobj * sizeof(*h->crc32)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != nobj * sizeof(*h->crc32)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->offsets, nobj * sizeof(*h->offsets));
- if (n != nobj * sizeof(*h->offsets)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != nobj * sizeof(*h->offsets)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
}
n = read(p->fd, h->large_offsets,
nobj * sizeof(*h->large_offsets));
- if (n != nobj * sizeof(*h->large_offsets)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != nobj * sizeof(*h->large_offsets)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}
goto done;
}
n = read(p->fd, h->trailer, sizeof(*h->trailer));
- if (n != sizeof(*h->trailer)) {
+ if (n < 0)
+ err = got_error_from_errno();
+ else if (n != sizeof(*h->trailer)) {
err = got_error(GOT_ERR_BAD_PACKIDX);
goto done;
}