Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Please critique my strdupf library |
| Date | 2015-04-19 11:11 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <87lhhoa0ls.fsf@bsb.me.uk> (permalink) |
| References | <6df1a933-2ba8-41f6-a169-f622244f0b66@googlegroups.com> |
samuelallenalexander@gmail.com writes:
> I wrote a tiny little library to implement "strdupf", now I don't know
> how I ever lived without it. strdupf is like strdup, except it takes
> printf-style variadic format arguments instead of a single string
> argument.
>
> The library is here: https://github.com/semitrivial/mallocf
>
> Please critique the library,
You have a bug, but it's easy to fix: the vsnprintf function you use to
calculate the length returns int not size_t because it can return a
negative number when an encoding error occurs. The result is a huge
length from strlenf and a possible undefined memory access in vstrdupf
(it depends on what negative number is returned and what your malloc
does when passed zero).
Test case: strlenf("%lc", (wchar_t)-1).
It's been mentioned already, but the worry in mallocf.h that va_copy
might be undefined looks odd, given that you rely on the C99 function
vsnprintf. Have you found a system with one and not the other?
<snip>
--
Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 01:34 -0700
Re: Please critique my strdupf library Ian Collins <ian-news@hotmail.com> - 2015-04-19 20:46 +1200
Re: Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 02:25 -0700
Re: Please critique my strdupf library Ian Collins <ian-news@hotmail.com> - 2015-04-19 21:35 +1200
Re: Please critique my strdupf library Keith Thompson <kst-u@mib.org> - 2015-04-19 07:44 -0700
Re: Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 10:23 -0700
Re: Please critique my strdupf library Morris Dovey <mrdovey@iedu.com> - 2015-04-19 13:09 -0500
Re: Please critique my strdupf library fir <profesor.fir@gmail.com> - 2015-04-19 02:48 -0700
Re: Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 03:42 -0700
Re: Please critique my strdupf library fir <profesor.fir@gmail.com> - 2015-04-19 02:11 -0700
Re: Please critique my strdupf library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-04-19 11:11 +0100
Re: Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 04:36 -0700
Re: Please critique my strdupf library Johannes Bauer <dfnsonfsduifb@gmx.de> - 2015-04-19 15:41 +0200
Re: Please critique my strdupf library samuelallenalexander@gmail.com - 2015-04-19 07:28 -0700
Re: Please critique my strdupf library August Karlstrom <fusionfile@gmail.com> - 2015-04-19 12:12 +0200
Re: Please critique my strdupf library Johannes Bauer <dfnsonfsduifb@gmx.de> - 2015-04-19 13:25 +0200
Re: Please critique my strdupf library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-04-19 13:32 +0100
Re: Please critique my strdupf library Lőrinczy Zsigmond <nospam@for.me> - 2015-04-19 16:29 +0200
Re: Please critique my strdupf library Keith Thompson <kst-u@mib.org> - 2015-04-19 07:52 -0700
csiph-web