DragonFlyBSD Kernel Audit
DF-0593 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/net/altq/altq_fairq.c b/sys/net/altq/altq_fairq.c
--- a/sys/net/altq/altq_fairq.c
+++ b/sys/net/altq/altq_fairq.c
@@ -499,6 +499,8 @@
 	pif->pif_classes[cl->cl_pri] = NULL;
 	if (pif->pif_poll_cache == cl)
 		pif->pif_poll_cache = NULL;
+	if (pif->pif_default == cl)
+		pif->pif_default = NULL;
 	if (pif->pif_maxpri == cl->cl_pri) {
 		for (pri = cl->cl_pri; pri >= 0; pri--)
 			if (pif->pif_classes[pri] != NULL) {
diff --git a/sys/net/altq/altq_priq.c b/sys/net/altq/altq_priq.c
--- a/sys/net/altq/altq_priq.c
+++ b/sys/net/altq/altq_priq.c
@@ -411,6 +411,8 @@
 
 	pif = cl->cl_pif;
 	pif->pif_classes[cl->cl_pri] = NULL;
+	if (pif->pif_default == cl)
+		pif->pif_default = NULL;
 	if (pif->pif_maxpri == cl->cl_pri) {
 		for (pri = cl->cl_pri; pri >= 0; pri--)
 			if (pif->pif_classes[pri] != NULL) {