]> granicus.if.org Git - procps-ng/commitdiff
ps: address a potential 'newline' quirk the libselinux
authorJim Warner <james.warner@comcast.net>
Wed, 7 Aug 2013 17:58:57 +0000 (12:58 -0500)
committerJaromir Capik <jcapik@redhat.com>
Fri, 9 Aug 2013 15:58:52 +0000 (17:58 +0200)
Sometimes with libselinux present but SELinux inactive
the context reported is "unconfined" which contains an
embedded newline. This then causes misalignment of any
subsequent data. So, ps will now protect against that.

Reference(s):
http://www.freelists.org/post/procps/enablelibselinux-switch,14

Signed-off-by: Jim Warner <james.warner@comcast.net>
ps/output.c

index b7b21d15c235d99e9fd12b1739fabdc6eaa31d55..d457a89cf1d6b6c1a7a16e610d78459dbbcb3e65 100644 (file)
@@ -1339,6 +1339,7 @@ static int pr_context(char *restrict const outbuf, const proc_t *restrict const
     len = strlen(context);
     if(len > max_len) len = max_len;
     memcpy(outbuf, context, len);
+    if (outbuf[len-1] == '\n') --len;
     outbuf[len] = '\0';
     free(context);
   }else{