hash_create(): check return code

From: Neil Conway <neilc(at)samurai(dot)com>
To: pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: hash_create(): check return code
Date: 2004-10-22 05:40:55
Message-ID: 1098423655.6602.287.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

hash_create() can return a NULL pointer if an error occurs (principally,
when we're out of memory). Some of the call sites checked for this
condition, but some did not. This patch fixes the remaining call sites
to check the return value, and ereport(ERROR) if it is NULL.

I'm not really sure whether this is the correct fix, but it certainly
seems wrong to be doing the check in some places and not in others.
Another approach would be to elog(ERROR) when an error occurs in
hash_create(), which would be fine except there might be some
circumstances in which hash_create() is invoked but elog(ERROR) is not
setup yet.

Comments?

-Neil

(Patch attached as a unified diff -- apologies for that, but I'm playing
with a new version control tool that most easily emits unified diffs.
http://www.venge.net/monotone/, if you're curious.)

Attachment Content-Type Size
hash_create_oom-1.patch text/x-patch 3.9 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2004-10-22 06:02:31 code cleanup in dynahash.c
Previous Message David Fetter 2004-10-22 04:29:44 Re: Example of function returning SETOF RECORD