zsh-workers
 help / color / mirror / code / Atom feed
From: Felix Rosencrantz <f_rosencrantz@yahoo.com>
To: zsh-workers <zsh-workers@sunsite.auc.dk>
Subject: Re: PATCH: Memorey leak with PS4 usage.
Date: Wed, 31 May 2000 23:25:12 -0700 (PDT)	[thread overview]
Message-ID: <20000601062512.29057.qmail@web1303.mail.yahoo.com> (raw)

--- Bart Schaefer <schaefer@candle.brasslantern.com> wrote:
> On May 31,  8:27pm, Felix Rosencrantz wrote:
> } Subject: PATCH: Memorey leak with PS4 usage.
> }
> } There seems to be a memory leak issue with the use of promptexpand.
> } I've included a patch for utils.c.
> 
> What leads you to this conclusion?
> 
> dupstring() allocates off zsh's internal heap.  Freeing a pointer off the
> heap is a Bad Thing.  The heap is allocated and freed in large chunks that
> zsh subdivides as necessary.

I think the these lines in promptexpand:
prompt.c:144:        return ztrdup("");
prompt.c:163:   bp =bufline = buf = zcalloc(bufspc = 256);

Are not allocated off the internal heap.

Also, other uses of promptexpand use free to free this space. For example,
in bin_print():
builtin.c:2758   if(ops['P']) {
builtin.c:2759       /*
builtin.c:2760        * promptexpand uses permanent storage: to avoid
builtin.c:2761        * messy memory management, stick it on the heap
builtin.c:2762        * instead.
builtin.c:2763        */
builtin.c:2764        char *str = unmetafy(promptexpand(metafy(args[n], len[n],
builtin.c:2765                               META_NOALLOC), 0, NULL, NULL),
&len[n]);
builtin.c:2766        args[n] = dupstring(str);
builtin.c:2767        free(str);
builtin.c:2768   }

Is this correct? Plus, that comment is unclear to me.  Though code speaks
louder than comments. 

-FR.


__________________________________________________
Do You Yahoo!?
Send instant messages & get email alerts with Yahoo! Messenger.
http://im.yahoo.com/


             reply	other threads:[~2000-06-01  6:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-06-01  6:25 Felix Rosencrantz [this message]
2000-06-01  9:06 ` Peter Stephenson
  -- strict thread matches above, loose matches on Subject: below --
2000-06-01  3:27 Felix Rosencrantz
2000-06-01  5:45 ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20000601062512.29057.qmail@web1303.mail.yahoo.com \
    --to=f_rosencrantz@yahoo.com \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).