Skip to content

Commit

Permalink
Fix for issue Ettercap#344, now safe_free_mem() will be available for…
Browse files Browse the repository at this point in the history
… all OS'es
  • Loading branch information
eaescob committed Sep 11, 2013
1 parent 958cf16 commit 33ac95f
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 10 deletions.
3 changes: 3 additions & 0 deletions include/ec.h
Expand Up @@ -172,6 +172,9 @@
/* exported by ec_main */
EC_API_EXTERN void clean_exit(int errcode);

/* exported by ec_mem */
EC_API_EXTERN void safe_free_mem(char **param, int *param_length, char *command);


#endif /* EC_H */

Expand Down
1 change: 1 addition & 0 deletions src/CMakeLists.txt
@@ -1,4 +1,5 @@
set(EC_SRC
ec_mem.c
ec_capture.c
ec_checksum.c
ec_conf.c
Expand Down
47 changes: 47 additions & 0 deletions src/ec_mem.c
@@ -0,0 +1,47 @@
/*
ettercap -- global variables handling module
Copyright (C) ALoR & NaGA
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#include <ec.h>

void safe_free_mem(char **param, int *param_length, char *command);


void safe_free_mem(char **param, int *param_length, char *command)
{
int k;

SAFE_FREE(command);
for(k= 0; k < (*param_length); ++k)
SAFE_FREE(param[k]);
SAFE_FREE(param);
}








/* EOF */

// vim:ts=3:expandtab

10 changes: 0 additions & 10 deletions src/os/ec_linux.c
Expand Up @@ -31,7 +31,6 @@ void disable_ip_forward(void);
static void restore_ip_forward(void);
u_int16 get_iface_mtu(const char *iface);
void disable_interface_offload(void);
void safe_free_mem(char **param, int *param_length, char *command);

/*******************************************/

Expand Down Expand Up @@ -133,15 +132,6 @@ u_int16 get_iface_mtu(const char *iface)
return mtu;
}

void safe_free_mem(char **param, int *param_length, char *command)
{
int k;

SAFE_FREE(command);
for(k= 0; k < (*param_length); ++k)
SAFE_FREE(param[k]);
SAFE_FREE(param);
}

/*
* disable segmentation offload on interface
Expand Down

0 comments on commit 33ac95f

Please sign in to comment.