Replace argument-checking Asserts with regular test-and-elog checks in all
encoding conversion functions. These are not can't-happen cases because it's possible to create a conversion with the wrong conversion function for the specified encoding pair. That would lead to an Assert crash in an Assert-enabled build, or incorrect conversion otherwise, neither of which is desirable. This would be a DOS issue if production databases were customarily built with asserts enabled, but fortunately that's not so. Per an observation by Heikki. Back-patch to all supported branches.
Showing
- src/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c 3 additions, 7 deletions...d/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c
- src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c 21 additions, 61 deletions...s/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c
- src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c 3 additions, 7 deletions...utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c
- src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c 3 additions, 7 deletions...2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c
- src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c 7 additions, 19 deletions...ils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c
- src/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c 3 additions, 7 deletions...utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c
- src/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c 7 additions, 19 deletions...ils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c
- src/backend/utils/mb/conversion_procs/latin2_and_win1250/latin2_and_win1250.c 7 additions, 19 deletions.../conversion_procs/latin2_and_win1250/latin2_and_win1250.c
- src/backend/utils/mb/conversion_procs/latin_and_mic/latin_and_mic.c 7 additions, 19 deletions...d/utils/mb/conversion_procs/latin_and_mic/latin_and_mic.c
- src/backend/utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.c 3 additions, 7 deletions...utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.c
- src/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c 3 additions, 7 deletions...d/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c
- src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c 3 additions, 7 deletions...mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c
- src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c 3 additions, 7 deletions...ils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c
- src/backend/utils/mb/conversion_procs/utf8_and_euc_jis_2004/utf8_and_euc_jis_2004.c 3 additions, 7 deletions...rsion_procs/utf8_and_euc_jis_2004/utf8_and_euc_jis_2004.c
- src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c 3 additions, 7 deletions...ils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c
- src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c 3 additions, 7 deletions...ils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c
- src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c 3 additions, 7 deletions...ils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c
- src/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c 3 additions, 7 deletions...s/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c
- src/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c 3 additions, 7 deletions...end/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c
- src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c 3 additions, 5 deletions...s/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c
Please register or sign in to comment