summaryrefslogtreecommitdiffstats
path: root/pw/pw.c
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-06-07 19:33:25 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-06-07 19:33:25 +0000
commit34211cbde959d55fb8e6b818365341d0193e7253 (patch)
tree8f79e703daf7289a07cebb93a170b9836a60087e /pw/pw.c
parent7d8cc6729f3fcf5fb4c38936179b2c0b9b026130 (diff)
downloadpw-darwin-34211cbde959d55fb8e6b818365341d0193e7253.tar.gz
pw-darwin-34211cbde959d55fb8e6b818365341d0193e7253.zip
In case of rename validate the length of the new name
Check early that the new name fits MAXLOGNAME and store it in pwconf
Diffstat (limited to 'pw/pw.c')
-rw-r--r--pw/pw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/pw/pw.c b/pw/pw.c
index 7274c32..ae030ec 100644
--- a/pw/pw.c
+++ b/pw/pw.c
@@ -234,6 +234,11 @@ main(int argc, char *argv[])
case 'N':
conf.dryrun = true;
break;
+ case 'l':
+ if (strlen(optarg) >= MAXLOGNAME)
+ errx(EX_USAGE, "new name too long: %s", optarg);
+ conf.newname = optarg;
+ break;
case 'P':
conf.pretty = true;
break;