Research
.
Skip Search Box

SELinux Mailing List

Re: libsemanage patch

From: Stephen Smalley <sds_at_tycho.nsa.gov>
Date: Wed, 05 Dec 2007 12:48:07 -0500


On Mon, 2007-12-03 at 15:49 -0500, Daniel J Walsh wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Stephen Smalley wrote:
> > On Mon, 2007-12-03 at 14:51 -0500, Todd Miller wrote:
> >> Daniel J Walsh wrote:
> >>> -----BEGIN PGP SIGNED MESSAGE-----
> >>> Hash: SHA1
> >>>
> >>> genhomedircon includes the "\n" in /etc/shells so no shells in the
> >>> /etc/passwd match.
> >> Isn't this going to cause problems if the last line in /etc/shells has
> >> no newline?
> >>
> >> Instead of:
> >> temp[strlen(temp)-1]=0;
> >>
> >> I would use:
> >> temp[strcspn(temp, "\n")] = '\0';
> >>
> >> That will overwrite the first newline with a NUL or, if there is no
> >> newline, the terminating NUL will be overwritten with another NUL, which
> >> is harmless. It is a useful idiom...
> >
> > Given that getline() returns the length read (not to be confused with
> > the buffer length), why not just:
> > while ((len = getline(&temp, &buff_len, shells)) > 0) {
> > if (temp[len-1] == '\n') temp[len-1] = 0;
> >
> Second try.

Merged with two changes (type on len => ssize_t, assert on store_path after strdup so that we don't continue if allocation fails).

-- 
Stephen Smalley
National Security Agency


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
Received on Wed 5 Dec 2007 - 12:48:42 EST
 

Date Posted: Jan 15, 2009 | Last Modified: Jan 15, 2009 | Last Reviewed: Jan 15, 2009

 
bottom

National Security Agency / Central Security Service