X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Fos_regex%2Fos_regex_free_pattern.c;h=fbc47700132c67507fc4cf745d7cbcb0dccaa765;hb=HEAD;hp=2cfa00e034566f0bd318697634e43fe79c723d29;hpb=914feba5d54f979cd5d7e69c349c3d01f630042a;p=ossec-hids.git diff --git a/src/os_regex/os_regex_free_pattern.c b/src/os_regex/os_regex_free_pattern.c old mode 100755 new mode 100644 index 2cfa00e..fbc4770 --- a/src/os_regex/os_regex_free_pattern.c +++ b/src/os_regex/os_regex_free_pattern.c @@ -1,15 +1,12 @@ -/* $OSSEC, os_regex_free_pattern.c, v0.1, 2006/01/02, Daniel B. Cid$ */ - /* Copyright (C) 2009 Trend Micro Inc. * All right reserved. * * This program is a free software; you can redistribute it * and/or modify it under the terms of the GNU General Public - * License (version 3) as published by the FSF - Free Software + * License (version 2) as published by the FSF - Free Software * Foundation */ - #include #include #include @@ -18,63 +15,30 @@ #include "os_regex_internal.h" -/** int OSRegex_FreePattern(SRegex *reg) v0.1 - * Release all the memory created by the compilation/executation - * phases. - * Returns void. - */ +/* Release all the memory created by the compilation/execution phases */ void OSRegex_FreePattern(OSRegex *reg) { - int i = 0; - - /* Freeing the patterns */ - if(reg->patterns) - { - char **pattern = reg->patterns; - while(*pattern) - { - if(*pattern) - free(*pattern); - pattern++; - } - - free(reg->patterns); - free(reg->flags); - - reg->patterns = NULL; - reg->flags = NULL; + /* Free the match data */ + if (reg->match_data) { + pcre2_match_data_free(reg->match_data); + reg->match_data = NULL; } - /* Freeing the closure */ - if(reg->prts_closure) - { - i = 0; - while(reg->prts_closure[i]) - { - free(reg->prts_closure[i]); - i++; - } - free(reg->prts_closure); - reg->prts_closure = NULL; + /* Free the regex */ + if (reg->regex) { + pcre2_code_free(reg->regex); + reg->regex = NULL; } - /* Freeing the str */ - if(reg->prts_str) - { - i = 0; - while(reg->prts_str[i]) - { - free(reg->prts_str[i]); - i++; - } - free(reg->prts_str); - reg->prts_str = NULL; + /* Free the patter, */ + if (reg->pattern) { + free(reg->pattern); + reg->pattern = NULL; } - /* Freeing the sub strings */ - if(reg->sub_strings) - { - OSRegex_FreeSubStrings(reg); + /* Free the sub strings */ + if (reg->sub_strings) { + OSRegex_FreeSubStrings(reg); free(reg->sub_strings); reg->sub_strings = NULL; } @@ -82,5 +46,3 @@ void OSRegex_FreePattern(OSRegex *reg) return; } - -/* EOF */