Commit Briefs
move got_opentempfd out of got_repo_open. ok stsp@
thanks for all the help massaging this diff
fix a bug in got_privsep_send_object_idlist() exposed by recent changes
The old code did not work correctly if only a single object Id was to be sent to got-read-pack. Make got-read-pack error out if the list of commits for object enumeration is empty to catch this problem if it occurs again. Found by the send_basic test, which was failing with GOT_TEST_PACK=1 ok tracey
let got-read-pack be explicit about whether it could enumerate all objects
This allows the main process to avoid looping over all object IDs again in case the pack file used for enumeration is complete. ok op@
compute object size, not pointer size
in this case they're luckily the same; got_imsg_object_idlist and got_imsg_reused_delta only have one size_t long field. ok stsp@
strictier validation for data received from libexec helpers
use correct error code and ok stsp@
use strndup instead of malloc+memcpy
Simplifies the reading of the author/committer string and makes also the code shorter. ok stsp@
don't check datalen when calling recv_imsg_error
recv_imsg_error already checks the size of the message, and it does so more precisely than the removed code. ok stsp@
got patch: use ints for line offsets instead of longs
ints have the advantage that their size is more likely to be the same across the various architecture supported by OpenBSD, thus introducing less possible differences. INT_MAX is still (at least) a few order of magnitudes higher than the patches we dealt with (even abnormal ones.) suggested by stsp@
actually guarding against negative line offsets
previous commit looked at some pretty zeroes returned from calloc instead of the actual numbers received.
got patch: guard against invalid (negative) line offsets
under normal circumstances got-read-patch can't send negative line offsets; that's not an excuse not to guard the main process from those as well. This makes sure we bail out early instead of trying to apply the diff.