CID
1554235: (#1 of 1): Data race condition (MISSING_LOCK)
missing_lock: Accessing defragtracker_spare_q.len without holding lock DefragTrackerStack_.m. Elsewhere, DefragTrackerStack_.len is written to with DefragTrackerStack_.m held 2 out of 2 times.
}
if (!quiet) {
SCLogConfig("preallocated %" PRIu32 " defrag trackers of size %" PRIuMAX "",
- defragtracker_spare_q.len, (uintmax_t)sizeof(DefragTracker));
+ DefragTrackerStackSize(&defragtracker_spare_q),
+ (uintmax_t)sizeof(DefragTracker));
}
}
}
DQLOCK_UNLOCK(q);
return dt;
}
+
+/**
+ * \brief return stack size
+ */
+uint32_t DefragTrackerStackSize(DefragTrackerStack *q)
+{
+ uint32_t len;
+ DQLOCK_LOCK(q);
+ len = q->len;
+ DQLOCK_UNLOCK(q);
+ return len;
+}
void DefragTrackerEnqueue(DefragTrackerStack *, DefragTracker *);
DefragTracker *DefragTrackerDequeue(DefragTrackerStack *);
+uint32_t DefragTrackerStackSize(DefragTrackerStack *q);
#endif /* SURICATA_DEFRAG_QUEUE_H */