Missed main patch in previous attempt.
First patch is direct fix for crash on Win64 (as result of invalid pointer
casting), also fix possible crash on any platform with 
sizeof(size_t) != sizeof(long).
Second patch is similar fix for function that are not (yet) crashing.
Third patch is optional fixes for int/size_tr.
Last patch is some kind of optimization and protection for buffer overruns -
once size of string is computed in any function, it will be reused in
subsequent called internal functions.

Karlson2k (4):
  nfkc.c: Fix incorrect "items_written" returned by
    stringprep_utf8_to_ucs4() on platforms with sizeof(size_t) !=
    sizeof(long) (i.e. Win x64). Also fixed crash in various function
    which use value of "items_written" (like tld_check_8z(),
    tld_check_lz())
  nfkc.c: Fixed invalid variable types and invalid pointer casting.
  nfkc.c: int/size_t fixes in find_decomposition()
  nfkc.c: reuse internally calculated lengths for buffer overrun
    protection, adjust internal API to public API: use ether string
    length OR null-termination, and do not stop processing on null char
    if length is specified.

 lib/nfkc.c | 61 ++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 34 insertions(+), 27 deletions(-)

-- 
2.8.0.windows.1


_______________________________________________
Help-libidn mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-libidn
  • [PA... Karlson2k
    • ... Karlson2k
    • ... Karlson2k
    • ... Karlson2k
    • ... Karlson2k
    • ... Discussion list for GNU Internationalized Domain Name library (Libidn)

Reply via email to