From 8ec37147b68377e120e850815010cfe625261ed3 Mon Sep 17 00:00:00 2001 Message-Id: <8ec37147b68377e120e850815010cfe625261ed3.1715756324.git.mdw@distorted.org.uk> From: Mark Wooding Date: Thu, 15 Dec 2011 00:55:01 +0000 Subject: [PATCH] prlimit.c: Fix careless use of `lt' variable. Organization: Straylight/Edgeware From: Mark Wooding The `lt' variable is used in the second pass for actually printing limits, but its value is simply debris from the first command-line parsing pass and has no useful meaning. Since it's a convenient abbreviation, initialize it properly in the second-pass loop and use it consistently. Spotted by GCC. --- prlimit.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/prlimit.c b/prlimit.c index 8219ab7..d7f94f9 100644 --- a/prlimit.c +++ b/prlimit.c @@ -298,9 +298,10 @@ int main(int argc, char *argv[]) for (i = 0; i < npid; i++) { for (j = 0; j < nassign; j++) { - if (prlimit(pid[i], assign[j].lt->id, 0, &lim)) { + lt = assign[j].lt; + if (prlimit(pid[i], lt->id, 0, &lim)) { moan("failed to read `%s' limit for pid %ld: %s", - assign[j].lt->name, (long)pid[i], strerror(errno)); + lt->name, (long)pid[i], strerror(errno)); goto err; } if (!assign[j].which) { @@ -309,9 +310,9 @@ int main(int argc, char *argv[]) } else { if (assign[j].which & f_soft) lim.rlim_cur = assign[j].val; if (assign[j].which & f_hard) lim.rlim_max = assign[j].val; - if (prlimit(pid[i], assign[j].lt->id, &lim, 0)) { + if (prlimit(pid[i], lt->id, &lim, 0)) { moan("failed to set `%s' limit for pid %ld: %s\n", - assign[j].lt->name, (long)pid[i], strerror(errno)); + lt->name, (long)pid[i], strerror(errno)); goto err; } } -- [mdw]