diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ns_saset.c | 6 | ||||
-rw-r--r-- | src/core/ns_set.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/core/ns_saset.c b/src/core/ns_saset.c index c521c15b8..f4bffeb17 100644 --- a/src/core/ns_saset.c +++ b/src/core/ns_saset.c @@ -231,6 +231,12 @@ int do_saset_password(User * u, NickCore * nc, char *param) return MOD_CONT; } + if (len > PASSMAX) {
+ len = PASSMAX;
+ param[len] = 0;
+ notice_lang(s_NickServ, u, PASSWORD_TRUNCATED, PASSMAX);
+ } + if (nc->pass) free(nc->pass); diff --git a/src/core/ns_set.c b/src/core/ns_set.c index ad493b104..70cadd94f 100644 --- a/src/core/ns_set.c +++ b/src/core/ns_set.c @@ -210,6 +210,12 @@ int do_set_password(User * u, NickCore * nc, char *param) return MOD_CONT; } + if (len > PASSMAX) { + len = PASSMAX; + param[len] = 0; + notice_lang(s_NickServ, u, PASSWORD_TRUNCATED, PASSMAX); + } + if (nc->pass) free(nc->pass); |