The data given in input of the function may not be null-terminated,
causing strlcpy() to complain with an invalid read.
Issue spotted using valgrind.
Reported-by: Alexander Lakhin <exclusion@gmail.com>
Discussion: https://postgr.es/m/
09df9d75-13e7-45fe-89af-
33fe118e797b@gmail.com
* Copy the input given, to make SASLprep() act on a sanitized string.
*/
input_data = palloc0(src_len + 1);
- strlcpy(input_data, src, src_len + 1);
+ memcpy(input_data, src, src_len);
+ input_data[src_len] = '\0';
rc = pg_saslprep(input_data, &result);
status = saslprep_status_to_text(rc);