|
|
Message-ID: <20130626101933.GD15323@port70.net>
Date: Wed, 26 Jun 2013 12:19:34 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: Thinking about release
* Rich Felker <dalias@...ifal.cx> [2013-06-25 21:44:07 -0400]:
> On Wed, Jun 12, 2013 at 09:25:17PM -0400, Rich Felker wrote:
> > Hi all,
> >
> > It's been mentioned that we're overdue for a release, and it looks
> > like we have a fair amount of new stuff since the last release. Major
> > changes so far:
> >
> > - Accepting \n in dynamic linker path file
>
> This was buggy and apparently nobody (even the person who requested
> it?!) ever tested it. Just fixed it. Could possibly use some further
> review still to make sure it handles odd path files well.
>
if the path file is empty the fixed (and original) code
invokes ub (it is not critical since an empty path file
does not make much sense, but i think it should be fixed)
if (!sys_path) {
FILE *f = fopen(ETC_LDSO_PATH, "rbe");
if (f) {
// if f is empty then getdelim returns -1, allocates space for sys_path
// but sys_path is not null terminated
if (getdelim(&sys_path, (size_t[1]){0}, 0, f) > 0) {
size_t l = strlen(sys_path);
if (l && sys_path[l-1]=='\n')
sys_path[l-1] = 0;
}
fclose(f);
}
}
// sys_path is non-null and not a valid string here
if (!sys_path) sys_path = "/lib:/usr/local/lib:/usr/lib";
fd = path_open(name, sys_path, buf, sizeof buf);
i think either getdelim should be fixed so it
makes sys_path null terminated even on eof/error
or sys_path should be freed and set to 0 in case
of failure so we fall back to the default value
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.