]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
test_saslprep: Fix issue with copy of input bytea
authorMichael Paquier <michael@paquier.xyz>
Mon, 13 Apr 2026 00:06:17 +0000 (09:06 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 13 Apr 2026 00:06:17 +0000 (09:06 +0900)
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

src/test/modules/test_saslprep/test_saslprep.c

index 70ff7069bf70fc3faa3c4ac1d086f8ed18e4c7d5..121212d4fa21e83df9cc114ed82ee81ccda8c2d0 100644 (file)
@@ -84,7 +84,8 @@ test_saslprep(PG_FUNCTION_ARGS)
         * 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);