]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
noodle: Use a sane temp buf for streaming
authorMatthew Barr <matthew.barr@intel.com>
Tue, 30 May 2017 06:12:41 +0000 (16:12 +1000)
committerMatthew Barr <matthew.barr@intel.com>
Mon, 21 Aug 2017 01:10:18 +0000 (11:10 +1000)
src/hwlm/hwlm.c
src/hwlm/noodle_engine.c
src/hwlm/noodle_engine.h
src/scratch.h

index 6eaa7ed158dd46c968620fb669510221f82a1b5e..37e56ae05382bdeb0d57e7b0746fb3b9367b054a 100644 (file)
@@ -228,8 +228,7 @@ hwlm_error_t hwlmExecStreaming(const struct HWLM *t, struct hs_scratch *scratch,
                             cb, ctxt);
         } else {
             return noodExecStreaming(HWLM_C_DATA(t), hbuf, hlen, buf, len, cb,
-                                     ctxt, scratch->fdr_temp_buf,
-                                     FDR_TEMP_BUF_SIZE);
+                                     ctxt);
         }
     } else {
         // t->type == HWLM_ENGINE_FDR
index 9758f42b280aded62c04daa82da960cbdad70bd2..0370ef31af24a1e05c9502d47958e0188e93f6a8 100644 (file)
@@ -370,8 +370,7 @@ hwlm_error_t noodExec(const struct noodTable *n, const u8 *buf, size_t len,
 /** \brief Streaming-mode scanner. */
 hwlm_error_t noodExecStreaming(const struct noodTable *n, const u8 *hbuf,
                                size_t hlen, const u8 *buf, size_t len,
-                               HWLMCallback cb, void *ctxt, u8 *temp_buf,
-                               UNUSED size_t temp_buffer_size) {
+                               HWLMCallback cb, void *ctxt) {
     assert(n);
 
     struct cb_info cbi = {cb, n->id, ctxt, 0};
@@ -380,10 +379,12 @@ hwlm_error_t noodExecStreaming(const struct noodTable *n, const u8 *hbuf,
     if (hlen) {
         assert(hbuf);
 
+        u8 ALIGN_DIRECTIVE temp_buf[16]; // HWLM_LITERAL_MAX_LEN * 2
+
         size_t tl1 = MIN(n->len - 1, hlen);
         size_t tl2 = MIN(n->len - 1, len);
         size_t temp_len = tl1 + tl2;
-        assert(temp_len < temp_buffer_size);
+        assert(temp_len < sizeof(temp_buf));
         memcpy(temp_buf, hbuf + hlen - tl1, tl1);
         memcpy(temp_buf + tl1, buf, tl2);
 
index e044a8633062873e8294ffca6e3644cb4b1bdf91..597a7bbc57719dc98a8dc6a1248032a77d4b33c8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Intel Corporation
+ * Copyright (c) 2015-2017, Intel Corporation
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -49,8 +49,7 @@ hwlm_error_t noodExec(const struct noodTable *n, const u8 *buf, size_t len,
 /** \brief Streaming-mode scanner. */
 hwlm_error_t noodExecStreaming(const struct noodTable *n, const u8 *hbuf,
                                size_t hlen, const u8 *buf, size_t len,
-                               HWLMCallback cb, void *ctxt, u8 *temp_buf,
-                               size_t temp_buffer_size);
+                               HWLMCallback cb, void *ctxt);
 
 #ifdef __cplusplus
 }       /* extern "C" */
index 47f8afa871ce374aa195429b49fba85b10948924..1d4b849ed7ef41be4f1a86e4767d0b0f715e161b 100644 (file)
@@ -45,7 +45,6 @@ extern "C"
 #endif
 
 UNUSED static const u32 SCRATCH_MAGIC = 0x544F4259;
-#define FDR_TEMP_BUF_SIZE 222
 
 struct fatbit;
 struct hs_scratch;
@@ -201,7 +200,6 @@ struct ALIGN_CL_DIRECTIVE hs_scratch {
     u32 delay_fatbit_size; /**< size of each delay fatbit in bytes */
     u32 scratchSize;
     char *scratch_alloc; /* user allocated scratch object */
-    u8 ALIGN_DIRECTIVE fdr_temp_buf[FDR_TEMP_BUF_SIZE];
 };
 
 /* array of fatbit ptr; TODO: why not an array of fatbits? */