cve-toolkit

CVE helper toolkit
git clone git://git.finwo.net/app/cve-toolkit
Log | Files | Refs | README | LICENSE

setup.c (1031B)


      1 #include "setup.h"
      2 
      3 #include <stdlib.h>
      4 
      5 struct detector_queue_entry **detector_queue;
      6 int                           detector_queue_cap    = 0;
      7 int                           detector_queue_length = 0;
      8 
      9 int detector_total = 0;
     10 int detector_pass  = 0;
     11 int detector_fail  = 0;
     12 
     13 void detector_queue_append(const char *name, const char *remediation, int (*fn)(int)) {
     14   // Initial queue initialize
     15   if (!detector_queue_cap) {
     16     detector_queue     = malloc(sizeof(void *));
     17     detector_queue_cap = 1;
     18   }
     19 
     20   // Grow queue if needed
     21   if ((detector_queue_length + 1) > detector_queue_cap) {
     22     detector_queue_cap *= 2;
     23     detector_queue = realloc(detector_queue, detector_queue_cap * sizeof(void *));
     24   }
     25 
     26   // Build new entry
     27   struct detector_queue_entry *entry = calloc(1, sizeof(struct detector_queue_entry));
     28   entry->handler                     = fn;
     29   entry->name                        = name;
     30   entry->remediation                 = remediation;
     31 
     32   // Append fn to queue
     33   detector_queue[detector_queue_length++] = entry;
     34 }