(by unit-hyperscan HyperscanArgChecks.CloseStreamNoScratch)
if (onEvent) {
if (!scratch || !validScratch(id->rose, scratch)) {
- hs_stream_free(id);
return HS_INVALID;
}
if (unlikely(markScratchInUse(scratch))) {
- hs_stream_free(id);
return HS_SCRATCH_IN_USE;
}
report_eod_matches(id, scratch, onEvent, context);
if (unlikely(internal_matching_error(scratch))) {
unmarkScratchInUse(scratch);
- hs_stream_free(id);
return HS_UNKNOWN_ERROR;
}
unmarkScratchInUse(scratch);