message: Fixed segfault when freelist is empty
diff: @@ -186,6 +186,7 @@ DbEntry::DbEntry(std::ifstream& is, unsigned ref, std::set<Entry>& refs) {
  if (memcmp(header, &signature, 4) && memcmp(header, &alt_signature, 4)) {
  auto it = free_list.lower_bound(Entry(ref, 0));
  + if (it != free_list.begin()) {
  it--;
  if (ref > it->start && ref < it->start + it->length) {
  std::cerr << err_txt << "Invalid ref in free space: 0x" << std::hex << ref << std::dec << std::endl;
  @@ -193,6 +194,7 @@ DbEntry::DbEntry(std::ifstream& is, unsigned ref, std::set<Entry>& refs) {
  else {
  std::cerr << err_txt << "Invalid ref: 0x" << std::hex << ref << std::dec << std::endl;
  }
  + }
  if (!is) {
  is.clear();
  }
  