From: Alan T. DeKok Date: Thu, 22 Jul 2021 20:59:49 +0000 (-0400) Subject: better errors X-Git-Tag: release_3_0_24~123 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a803b4cbff157a3790fbb4f256773cf92384a913;p=thirdparty%2Ffreeradius-server.git better errors --- diff --git a/src/main/cb.c b/src/main/cb.c index d491c0c160f..372b8fa8228 100644 --- a/src/main/cb.c +++ b/src/main/cb.c @@ -220,12 +220,19 @@ void cbtls_msg(int write_p, int msg_version, int content_type, } int cbtls_password(char *buf, - int num UNUSED, + int num, int rwflag UNUSED, void *userdata) { - strcpy(buf, (char *)userdata); - return(strlen((char *)userdata)); + size_t len; + + len = strlcpy(buf, (char *)userdata, num); + if (len >= (size_t) num) { + ERROR("Password too long. Maximum length is %i bytes", num - 1); + return 0; + } + + return len; } #endif