Don't leak memory in event_add if event_once fails.

Index: event.c
===================================================================
RCS file: /cvsroot/levent/libevent/event.c,v
retrieving revision 1.50
diff -u -r1.50 event.c
--- event.c	15 Jul 2006 02:55:57 -0000	1.50
+++ event.c	8 Sep 2006 04:58:10 -0000
@@ -459,6 +459,7 @@
 {
 	struct event_once *eonce;
 	struct timeval etv;
+	int res;
 
 	/* We cannot support signals that just fire once */
 	if (events & EV_SIGNAL)
@@ -487,7 +488,11 @@
 		return (-1);
 	}
 
-	event_add(&eonce->ev, tv);
+	res = event_add(&eonce->ev, tv);
+	if (res != 0) {
+		free(eonce);
+		return (res);
+	}
 
 	return (0);
 }
