]> granicus.if.org Git - postgresql/commitdiff
Properly end string to make sure ecpglib does not read beyond its boundaries.
authorMichael Meskes <meskes@postgresql.org>
Mon, 18 Feb 2019 11:52:53 +0000 (12:52 +0100)
committerMichael Meskes <meskes@postgresql.org>
Mon, 18 Feb 2019 11:52:53 +0000 (12:52 +0100)
src/interfaces/ecpg/ecpglib/execute.c

index 67681956b095a71eb1e27253c09cf27ebdf39b6b..0c147b77cc92d836b48461ff1d4530d8dd327ab0 100644 (file)
@@ -1072,8 +1072,9 @@ print_param_value(char *value, int len, int is_binary, int lineno, int nth)
                value_s = value;
        else
        {
-               value_s = ecpg_alloc(ecpg_hex_enc_len(len), lineno);
+               value_s = ecpg_alloc(ecpg_hex_enc_len(len)+1, lineno);
                ecpg_hex_encode(value, len, value_s);
+               value_s[ecpg_hex_enc_len(len)] = '\0';
                malloced = true;
        }