[PATCH] cryptui: use add_oid_to_usage correctly (Coverity)
marcus at jet.franken.de
Sat Feb 2 07:05:34 CST 2013
On Fri, Feb 01, 2013 at 03:48:27PM -0800, Juan Lang wrote:
> On Fri, Feb 1, 2013 at 3:45 PM, Juan Lang <juan.lang at gmail.com> wrote:
> > Hi Marcus,
> > - add_oid_to_usage(usage, ptr);
> > + usage = add_oid_to_usage(usage, ptr);
> > This looks fine, but would you mind making the same change on line 337?
> > Actually, perhaps I hit sent too early. If this memory allocation fails,
> which is the only situation under which add_oid_to_usage doesn't just
> return its first parameter, it'll immediately crash on the next invocation
> with a NULL pointer dereference.
> I'm not sure it's worth all the trouble in an out of memory situation.
> Perhaps just remove the return value and let the caller crash.
Actually the loop around checks that as a condition and would lead to return NULL:
for (ptr = usageStr, comma = strchr(ptr, ','); usage && ptr && *ptr;
For the second one the loop around does not catch it.
I think the add_oid_to_usage() should not even do it this way and not touch "usage"
at all, but instead return a memory allocation error and let the caller handle it:/
Or just let it crash.
More information about the wine-devel