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/
next 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).