cvs: php4 /ext/ircg ircg.c
| From: | Sascha Schumann | Date: | Mon, 30 Jul 2001 03:05:52 +0000 |
| Subject: | cvs: php4 /ext/ircg ircg.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-6398@lists.php.net to get a copy of this message | ||
sas Sun Jul 29 23:05:52 2001 EDT
Modified files:
/php4/ext/ircg ircg.c
Log:
Plug newly introduced memory leaks
Index: php4/ext/ircg/ircg.c
diff -u php4/ext/ircg/ircg.c:1.89 php4/ext/ircg/ircg.c:1.90
--- php4/ext/ircg/ircg.c:1.89 Sun Jul 29 15:06:26 2001
+++ php4/ext/ircg/ircg.c Sun Jul 29 23:05:51 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ircg.c,v 1.89 2001/07/29 19:06:26 sas Exp $ */
+/* $Id: ircg.c,v 1.90 2001/07/30 03:05:51 sas Exp $ */
#include <time.h>
@@ -230,7 +230,7 @@
while (f->ntoken-- > 0) {
switch (f->t[i].code) {
- case C_STRING: smart_str_free_ex(f->t[i].para.ptr, 1); break;
+ case C_STRING: smart_str_free_ex(f->t[i].para.ptr, 1); free(f->t[i].para.ptr); break;
}
i++;
}
@@ -796,7 +796,6 @@
{
struct errormsg *m, *prev = NULL;
- printf("looking up msg for %d\n", id);
for (m = errormsgs; m; prev = m, m = m->next) {
if (m->id == id) {
if (prev)
@@ -1355,6 +1354,7 @@
} else
token_compiler("", &fmt_msgs.fmt_msgs[i]);
}
+
zend_hash_update(&h_fmt_msgs, Z_STRVAL_PP(p1), Z_STRLEN_PP(p1),
&fmt_msgs, sizeof(fmt_msgs), NULL);
@@ -1428,6 +1428,11 @@
}
/* }}} */
+static void ctcp_msgs_dtor(format_msg_t *fmt)
+{
+ free_fmt_msg(fmt);
+}
+
/* {{{ ircg_copy_ctcp_msgs
*/
static int ircg_copy_ctcp_msgs(zval **array, php_irconn_t *conn)
@@ -1517,7 +1522,7 @@
}
}
- zend_hash_init(&conn->ctcp_msgs, 10, NULL, NULL, 1);
+ zend_hash_init(&conn->ctcp_msgs, 10, NULL, ctcp_msgs_dtor, 1);
conn->fmt_msgs = fmt_msgs;
if (irc_connect(username, register_hooks,
conn, server, port, &conn->conn)) {