From: "Z. Gilboa" <zg7s@eservices.virginia.edu>
To: <musl@lists.openwall.com>
Subject: Re: patch: make the size of errbuf configurable
Date: Sun, 19 May 2013 20:09:03 -0400 [thread overview]
Message-ID: <5199699F.4050009@eservices.virginia.edu> (raw)
In-Reply-To: <20130519232209.GK20323@brightrain.aerifal.cx>
On 05/19/2013 07:22 PM, Rich Felker wrote:
> On Sun, May 19, 2013 at 06:26:04PM -0400, Z. Gilboa wrote:
>>>> In my understanding, the current approach of having a fixed buffer
>>>> size is by far the superior one.
>>> Could you elaborate as to why? Are you concerned about memory usage?
>>> Code complexity? Or some other reason?
>> A little bit of both, with complexity being the main factor. As far
>> as I can tell (from looking at dynlink.c and otherwise), there is
>> only one case (do_relocs) where both the library name and symbol
>> name are sent to the buffer. So given the case's rarity and
>> singularity, I would not introduce "complex" code or memory
>> allocation into the function. We should also remember that this is
>> not about how the error is being handled, only about how it is being
>> presented, meaning that less code is probably better...
> From what I can see, complexity can be avoided and maybe even reduced
> by refactoring the code so that all the places that set an error
> message call a short simple function that wraps snprintf and allocates
> a new buffer if needed. The complexity reduction would be if we can
> eliminate duplicate logic at each call point, which I haven't checked
> yet.
>
> Rich
When moving beyond dynlink.c then yes, I believe, that should be
beneficial. I just had a quick look at the places where snprintf is
used, and found that the following functions might benefit from the
above wrapper:
dynlink.c: all functions that call snprintf
syslog.c: _vsyslog
getnameinfo
inet_ntop (unsure)
sem_open (unsure: _name_ can be up to 251 characters long
(http://man7.org/linux/man-pages/man7/sem_overview.7.html), but is link
to _tmp_ which is only up to 64 characters long)
Zvi
next prev parent reply other threads:[~2013-05-20 0:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-19 20:12 Z. Gilboa
2013-05-19 21:03 ` Rich Felker
2013-05-19 21:51 ` Z. Gilboa
2013-05-19 22:09 ` Rich Felker
2013-05-19 22:26 ` Z. Gilboa
2013-05-19 23:22 ` Rich Felker
2013-05-20 0:09 ` Z. Gilboa [this message]
2013-05-20 0:21 ` Rich Felker
2013-05-20 0:37 ` Z. Gilboa
2013-05-19 21:05 ` Szabolcs Nagy
2013-05-19 21:36 ` Luca Barbato
2013-05-19 21:48 ` Rich Felker
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=5199699F.4050009@eservices.virginia.edu \
--to=zg7s@eservices.virginia.edu \
--cc=musl@lists.openwall.com \
/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/musl/
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).