- while (!memcmp(bufptr, "parent ", 7) &&
- !get_sha1_hex(bufptr + 7, parent)) {
- struct commit *new_parent = lookup_commit(parent);
+ while (!memcmp(bufptr, "parent ", 7)) {
+ struct commit *new_parent;
+
+ if (get_sha1_hex(bufptr + 7, parent) || bufptr[47] != '\n')
+ return error("bad parents in commit %s", sha1_to_hex(item->object.sha1));
+ new_parent = lookup_commit(parent);