mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
ecpg: Fix zero-termination of string generated by intoasc()
intoasc(), a wrapper for PGTYPESinterval_to_asc that converts an interval to its textual representation, used a plain memcpy() when copying its result. This could miss a zero-termination in the result string, leading to an incorrect result. The routines in informix.c do not provide the length of their result buffer, which would allow a replacement of strcpy() to safer strlcpy() calls, but this requires an ABI breakage and that cannot happen in back-branches. Author: Oleg Tselebrovskiy Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/bf47888585149f83b276861a1662f7e4@postgrespro.ru Backpatch-through: 12
This commit is contained in:
@@ -654,7 +654,7 @@ intoasc(interval * i, char *str)
|
||||
if (!tmp)
|
||||
return -errno;
|
||||
|
||||
memcpy(str, tmp, strlen(tmp));
|
||||
strcpy(str, tmp);
|
||||
free(tmp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user