From 05af47f08affa216451432605c90272664572e70 Mon Sep 17 00:00:00 2001 From: Dan Egnor <egnor@ofb.net> Date: Thu, 5 Dec 2002 20:46:24 +0000 Subject: [PATCH] fixes to RJKs valgrind errors --- select.c | 1 + sys.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/select.c b/select.c index 1c27967..edf48a6 100644 --- a/select.c +++ b/select.c @@ -38,6 +38,7 @@ oop_adapter_select *oop_select_new( FD_ZERO(&s->active.wfd); FD_ZERO(&s->active.xfd); s->num_fd = 0; + s->num_fd_active = 0; s->do_timeout = 0; s->is_active = 0; s->call = call; diff --git a/sys.c b/sys.c index 9f0c155..19bbeb3 100644 --- a/sys.c +++ b/sys.c @@ -86,12 +86,13 @@ static void sys_on_fd(oop_source *source,int fd,oop_event ev, int i,j,num_files = 1 + fd; sys_file *files = oop_malloc(num_files * sizeof(sys_file)); if (NULL == files) return; /* ugh */ + memcpy(files,sys->files,sizeof(sys_file) * sys->num_files); for (i = sys->num_files; i < num_files; ++i) for (j = 0; j < OOP_NUM_EVENTS; ++j) files[i][j].f = NULL; - oop_free(sys->files); + if (NULL != sys->files) oop_free(sys->files); sys->files = files; sys->num_files = num_files; } @@ -414,6 +415,7 @@ void oop_sys_delete(oop_source_sys *sys) { assert(NULL == sys->files[i][j].f && "cannot delete with file handler"); assert(0 == sys->num_events); + if (NULL != sys->files) oop_free(sys->files); oop_free(sys); } -- GitLab