I would like a sponsor to fix 6415252.

(Gives a nice boost to pkgchk, pkginfo -l, and pkgrm.)

Details and diffs at http://www.petertribble.co.uk/Solaris/fixes/5/

Contributor Agreement OS0019

There are 2 main modifications:

1. Every instance of WRITEDATA is protected by checking that cfTmpVfp
is non-NULL. Most were already, but now all are. (4 times.)

2. All invocations of the getstr routine have been replaced. The
problem is that the separator string was dynamic, so it was constructed
afresh using strlcpy and strlcat each time. But there are only two
different forms, so I have replaced getstr by two similar functions,
one for each form of invocation.

In addition, using strpbrk to search for the characters we're looking
for is inefficient. Not only does it involve a function call, but we
may have to call strlen as well. The revised implementation uses fixed
lookup tables to scan the string, in an identical manner to the
existing fast character checking elsewhere in this file. this also
streamlines the logic a little.

-Peter Tribble
L.I.S., University of Hertfordshire - http://www.herts.ac.uk/
http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/

Reply via email to