delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
X-Recipient: | djgpp AT delorie DOT com |
X-Original-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=gmail.com; s=20120113; | |
h=mime-version:in-reply-to:references:date:message-id:subject:from:to | |
:content-type; | |
bh=Vd9Qhh3Qc9OznquILcXUhK8gyMsLw6Bba4ey9mPpKeA=; | |
b=o+W7WrkchOt3D2ipFjXwDBaNJsQN7vEj0tBiYt4/6MI/QEL1EkaVDXLVFBCSt1iYEm | |
F9bb8NLTMsOgcdqjxYUtbRf/YyRLGuH+qanbZ5gQz+X6Ea8GfJa8BeeaMucKgj8h7HaC | |
WKa7GR07WfckvnQrD8LfZb4Wj+y1j1T7FPOTOvkF7SRCIO79Vd1EGIE/eirwpm4cxvXs | |
C4zA+wT3hLX5lfTGOb+vaKkrgzFwhG8tLDqIQYhWGaLQvodidjnI3CZ3ZRe7uGwuB3ap | |
bxnSDzHPuzjUwPC6jO0NmBB8Pfw2HNvNTW/j7cwLv+d341YNve+j/lHZFftaQmHK5dcj | |
LrTw== | |
MIME-Version: | 1.0 |
X-Received: | by 10.202.88.215 with SMTP id m206mr24139451oib.47.1442426857838; |
Wed, 16 Sep 2015 11:07:37 -0700 (PDT) | |
In-Reply-To: | <83d1xi6ye1.fsf@gnu.org> |
References: | <CAA2C=vCi88BYHh-yRXvtx8az13Y9wymqkjs93UJHx=qaZRPOGQ AT mail DOT gmail DOT com> |
<cae6b037-4d08-4255-aa4f-d423a86a0d1c AT googlegroups DOT com> | |
<83d1xi6ye1 DOT fsf AT gnu DOT org> | |
Date: | Wed, 16 Sep 2015 21:07:37 +0300 |
Message-ID: | <CAA2C=vC4D8sm=3JMbLGAL-cPq7xAMZg32FCU0hezBrhkK9K9kA@mail.gmail.com> |
Subject: | Re: dlopen.c: make sure filename is not NULL and not empty |
From: | "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
To: | djgpp AT delorie DOT com |
Reply-To: | djgpp AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
On 9/16/15, Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com] <djgpp AT delorie DOT com> wrote: >> Date: Wed, 16 Sep 2015 10:14:40 -0700 (PDT) >> From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via >> djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> >> >> On Wednesday, September 16, 2015 at 2:39:19 PM UTC+2, Ozkan Sezer >> (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] wrote: >> > If there are no objections, I want to apply the following >> > patch to both HEAD and to v2_05_1. dlopen(NULL,mode) is >> > supported by glibc but not by djgpp, and such a call left >> > unchecked will result in Bad Things (TM) to happen. >> > >> > Index: dlopen.c >> > =================================================================== >> > RCS file: /cvs/djgpp/djgpp/src/libc/dxe/dlopen.c,v >> > retrieving revision 1.9 >> > diff -u -p -r1.9 dlopen.c >> > --- dlopen.c 21 Aug 2015 18:10:28 -0000 1.9 >> > +++ dlopen.c 16 Sep 2015 12:02:07 -0000 >> > @@ -119,6 +119,11 @@ void *dlopen(const char *filename, int m >> > _dl_unresolved_count = 0; >> > errno = 0; >> > >> > + if (!filename || !*filename) { >> > + errno = EINVAL; >> > + return NULL; >> > + } >> > + >> > /* Find the dynamic module along the LD_LIBRARY_PATH */ >> > if (!ACCESS(filename)) >> > { >> >> >> Looks ok to me but my man page tells something like this: >> "If filename is NULL, then the returned handle is for the main >> program." >> What shall this imply for DJGPP? > > This feature is for when the function is already statically linked > into the main program. Yes, useful in such a case too > Can we support this in DJGPP? Someone will need to implement that, but for 2.06 I think > If not, we should return ENOSYS or some such. > I used EINVAL, because NULL or "" filename is already an invalid argument for the current implementation, and ENOSYS would be a misleading errno. What do the others think? -- O.S.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |