+jilles 2007/11/07 21:45:14 UTC (20071107-3578)
+ Log:
+ allocate_channel(): no need to truncate name, its only caller already does it
+ furthermore, truncating here causes an inconsistent channel name
+
+
+ Changes: Modified:
+ +1 -1 trunk/src/channel.c (File Modified)
+
+
jilles 2007/10/27 21:56:53 UTC (20071027-3574)
Log:
Fix a memory leak.
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: channel.h 2727 2006-11-09 23:48:45Z jilles $
+ * $Id: channel.h 3580 2007-11-07 23:45:14Z jilles $
*/
#ifndef INCLUDED_channel_h
unsigned long bants;
};
-#define BANLEN NICKLEN+USERLEN+HOSTLEN+6
+#define BANLEN 195
struct Ban
{
char *banstr;
-#define SERNO "20071027-3574"
+#define SERNO "20071107-3578"
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: channel.c 3578 2007-11-07 21:45:14Z jilles $
+ * $Id: channel.c 3580 2007-11-07 23:45:14Z jilles $
*/
#include "stdinc.h"
{
struct Ban *bptr;
bptr = BlockHeapAlloc(ban_heap);
- DupNString(bptr->banstr, banstr, BANLEN);
- DupNString(bptr->who, who, BANLEN);
+ DupString(bptr->banstr, banstr);
+ DupString(bptr->who, who);
return (bptr);
}
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: chmode.c 3534 2007-07-14 13:34:50Z jilles $
+ * $Id: chmode.c 3580 2007-11-07 23:45:14Z jilles $
*/
#include "stdinc.h"
dlink_list * list, long mode_type)
{
struct Ban *actualBan;
- static char who[BANLEN];
+ static char who[USERHOST_REPLYLEN];
char *realban = LOCAL_COPY(banid);
dlink_node *ptr;
else
mask = pretty_mask(raw_mask);
- /* we'd have problems parsing this, hyb6 does it too */
- if(strlen(mask) > (MODEBUFLEN - 2))
+ /* we'd have problems parsing this, hyb6 does it too
+ * also make sure it will always fit on a line with channel
+ * name etc.
+ */
+ if(strlen(mask) > IRCD_MIN(BANLEN, MODEBUFLEN - 5))
return;
/* if we're adding a NEW id */