Browse code

libclamav/matcher-bm.c: fix cli_bm_freeoff() (bb#1710)

Tomasz Kojm authored on 2009/10/01 00:15:37
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Wed Sep 30 17:15:05 CEST 2009 (tk)
2
+----------------------------------
3
+ * libclamav/matcher-bm.c: fix cli_bm_freeoff() (bb#1710)
4
+
1 5
 Wed Sep 30 12:40:50 CEST 2009 (acab)
2 6
 ------------------------------------
3 7
  * clamdscan/clamdscan.c: properly init variable (bb#1708)
... ...
@@ -155,7 +155,7 @@ int cli_bm_initoff(const struct cli_matcher *root, struct cli_bm_off *data, int
155 155
 
156 156
 
157 157
     if(!root->bm_patterns) {
158
-	data->offtab = data->offset = 0;
158
+	data->offtab = data->offset = NULL;
159 159
 	data->cnt = data->pos = 0;
160 160
 	return CL_SUCCESS;
161 161
     }
... ...
@@ -206,10 +206,12 @@ int cli_bm_initoff(const struct cli_matcher *root, struct cli_bm_off *data, int
206 206
 
207 207
 void cli_bm_freeoff(struct cli_bm_off *data, const struct cli_matcher *root)
208 208
 {
209
-    mpool_free(root->mempool, data->offset);
210
-    data->offset = NULL;
211
-    mpool_free(root->mempool, data->offtab);
212
-    data->offtab = NULL;
209
+    if(data->offset) {
210
+	mpool_free(root->mempool, data->offset);
211
+	data->offset = NULL;
212
+	mpool_free(root->mempool, data->offtab);
213
+	data->offtab = NULL;
214
+    }
213 215
 }
214 216
 
215 217
 void cli_bm_free(struct cli_matcher *root)