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