I think this is the fix.  The first bit is walking off the list.
The 2nd part might help for programs which call libpcap repeatedly. 

Index: gencode.c
===================================================================
RCS file: /cvs/src/lib/libpcap/gencode.c,v
retrieving revision 1.61
diff -u -r1.61 gencode.c
--- gencode.c   28 Mar 2022 02:58:06 -0000      1.61
+++ gencode.c   27 May 2022 20:30:53 -0000
@@ -207,12 +207,13 @@
        for (i = 0; i <= cur_membag; i++) {
                if (membag[i].ptrs == NULL)
                        continue;
-               for (j = 0; j <= membag[i].slot; j++)
+               for (j = 0; j < membag[i].slot; j++)
                        free(membag[i].ptrs[j]);
                free(membag[i].ptrs);
                membag[i].ptrs = NULL;
                membag[i].slot = membag[i].total = 0;
        }
+       cur_membag = 0;
 }
 
 /*

Reply via email to