
< 		memcpy (&this_set[row - 1].signature, ph, sizeof (uint64_t));
---
> 		#define SAFE_INDEX(arr, idx, max) ((idx) > 0 && (idx) <= (max) ? (idx) - 1 : 0)
> 		memcpy (&this_set[SAFE_INDEX(this_set, row, nused)].signature, ph, sizeof (uint64_t));
> 		#undef SAFE_INDEX
