🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.protocols.iso.dev-environ
Article #161

Unreleased memory in Quipu DSA

#161
From: Naresh Kumar
Date: Tue, 10 Apr 1990 18:34
38 lines
1607 bytes
Quipu DSA (ISODE Release 6.0) loses some memory with every "bind". 

In function conn_pre_init(), the parameters of the first indication 
received through TNetAccept are saved.

quipu/conn_init.c  conn_pre_init() 572-579

    if (vec[0])
	cn->cn_init_act.ia_vec[0] = strdup (vec[0]);
    if (vec[1])
	cn->cn_init_act.ia_vec[1] = strdup (vec[1]);
    if (vec[2])
	cn->cn_init_act.ia_vec[2] = strdup (vec[2]);
    if (vec[3])
	cn->cn_init_act.ia_vec[3] = strdup (vec[3]);

At the time of releasing the connection, memory allocated through strdup() 
is released as under  :

quipu/conn.c conn_free 53-60

    if (conn->cn_init_act.ia_vec[0])
	free (conn->cn_init_act.ia_vec[0]);
    if (conn->cn_init_act.ia_vec[1])
	free (conn->cn_init_act.ia_vec[1]);
    if (conn->cn_init_act.ia_vec[2])
	free (conn->cn_init_act.ia_vec[2]);
    if (conn->cn_init_act.ia_vec[3])
	free (conn->cn_init_act.ia_vec[3]);

But vec[1] has been initialized to NULL in TInit () which is called through
AcInit and the memory allocated for this element is never released.

tsap/tsaprespond.c, TInit() 114
	*vec = NULL;

I think the above statement should be deleted to fix this problem.
Technical Details
Message-ID: <9004101834.AA17475@touch.touch.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!touch.com!naresh

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!touch.com!naresh
From: naresh@touch.com (Naresh Kumar)
Newsgroups: comp.protocols.iso.dev-environ
Subject: Unreleased memory in Quipu DSA
Message-ID: <9004101834.AA17475@touch.touch.com>
Date: 10 Apr 90 18:34:24 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: inet
Organization: The Internet
Lines: 38