freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen()
- From: "James K. Lowden" <jklowden AT freetds.org>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen()
- Date: Sat, 21 Mar 2009 13:34:08 -0400
Craig A. Berry wrote:
> >> if (!(server)) { dbperror(dbproc, 20176, 0, "dbopen", (int) 2);
> >> return (void *)0; };
> >>
> >> The check isn't against "random data from the stack"; it's against
> >> the
> >> server argument.
> >
> > I really wasn't clear (and hadn't looked at the macro long enough to
> > understand it). It's dbproc, not server, that has been "fetched but
> > not initialized". I'll try to actually think before replying further.
>
> Your patch looks good to me, compiles fine here, and I'm now testing
> with it. You were right that I was confused in saying that the
> uninitialized data is what we were checking (server), when in fact
> it's what we were using to report the error (dbproc). This was rather
> dangerous because dbperror dereferences dbproc and could either get
> garbage or segfault when given a bad pointer. Had we initialized
> dbproc to NULL, that would've been ok as dbperror handles that case.
Ah! I didn't even notice that. Friggin macros!
Keep 'em coming, Craig.
--jkl
-
[freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Craig A. Berry, 03/20/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
James K. Lowden, 03/20/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Craig A. Berry, 03/20/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Craig A. Berry, 03/21/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
James K. Lowden, 03/21/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Frediano Ziglio, 03/23/2009
- Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(), Craig A. Berry, 03/23/2009
- Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(), Frediano Ziglio, 03/23/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Frediano Ziglio, 03/23/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
James K. Lowden, 03/21/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Craig A. Berry, 03/21/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
Craig A. Berry, 03/20/2009
-
Re: [freetds] [PATCH] useless CHECK_NULP in dblib.c:tdsdbopen(),
James K. Lowden, 03/20/2009
Archive powered by MHonArc 2.6.24.