postgres.git / summary / log / commit / refs
commit c5e073ca2deec1595e4fdd748f14fcb4122e8faf
Author: Peter Eisentraut <peter_e@gmx.net>
Date: Thu Mar 08 20:29:01 2012 +0000
ecpg: Fix off-by-one error in memory copying
In a rare case, one byte past the end of memory belonging to the
sqlca_t structure would be written to.
found by Coverity
src/interfaces/ecpg/ecpglib/misc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index f24478271cd..a4c283a274d 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -525,7 +525,7 @@ ECPGset_var(int number, void *pointer, int lineno)
struct sqlca_t *sqlca = ECPGget_sqlca();
sqlca->sqlcode = ECPG_OUT_OF_MEMORY;
- strncpy(sqlca->sqlstate, "YE001", sizeof("YE001"));
+ strncpy(sqlca->sqlstate, "YE001", sizeof(sqlca->sqlstate));
snprintf(sqlca->sqlerrm.sqlerrmc, sizeof(sqlca->sqlerrm.sqlerrmc), "out of memory on line %d", lineno);
sqlca->sqlerrm.sqlerrml = strlen(sqlca->sqlerrm.sqlerrmc);
/* free all memory we have allocated for the user */
[parent: 8dd4d10d481e]