Peter Tribble wrote:
> I would like a sponsor for several pkgchk related issues.
> 

Peter, I'll be happy to sponsor you.

Dave

> See http://www.petertribble.co.uk/Solaris/fixes/1/ for details
> (given below) and diffs.
> 
> 
> 1. 6218542 (also the core reported in 5035606)
> 
> Removed the call to selpath. The problem is that the first branch of
> the preceding if block has already taken ppathlist[n] off the end of
> the array - replacing n with 0 stops the crash, but in fact checkmap
> also has exactly the same code, so that it's better to remove this
> call completely.
> 
> (I've also removed the forward declaration of selpath from main.c as
> it's no longer necessary. And selpkg too.)
> 
> This also solves the problem of duplicate output such as the
> following:
> 
> pkgchk -p hjzxv
> NOTE: Couldn't lock the package database.
> WARNING: no information associated with pathname <hjzxv>
> WARNING: no information associated with pathname <hjzxv>
> 
> 
> 2. 6412140
> 
> Rewritten the ELF check for the file referenced by the -i flag. I
> presume that this feature is to guard against supplying a binary file
> as input, but it also catches genuine cases. So I explicitly check just
> the first 4 characters of the file for the ELF signature.
> 
> 
> 3. 6412749
> 
> Enhanced to allow -i input file to be specified on stdin.
> 
> Check and generate an error on empty input file.
> 
> This last check adds an extra error message.
> 
> 
> 4. 6412765
> 
> I guard against overly long input strings (doesn't do anything
> smart, but doesn't crash).
> 
> I do this by adding a length specifier to fscanf. (Ideally this would
> use PATH_MAX rather than being hardcoded to 1024, but I'm not sure how
> to get a numeric define in a format specifier past the preprocessor.)
> 
> 
> 5. 6322837
> 
> I've added a simple check that the input file specified is indeed a
> regular file.
> 
> Note that this actually constitutes a change of behaviour, and will
> cause anything that explicitly uses /dev/stdin (rather than the more
> conventional notation - see point 3 above) to fail. I have identified 2
> places where this occurs
> 
> /sfw/usr/src/pkgdefs/common_files/checkinstall.initd
> /on/usr/src/pkgdefs/common_files/checkinstall.initd
> 
> 6. 6413788
> 
> Fixed various typos and removed unused defines.
> 


Reply via email to