[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56413: [PATCH 1/1] scm_i_utf8_string_hash: compute u8 chars not byte
From: |
Ludovic Courtès |
Subject: |
bug#56413: [PATCH 1/1] scm_i_utf8_string_hash: compute u8 chars not bytes |
Date: |
Mon, 07 Nov 2022 14:07:54 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Rob Browning <rlb@defaultvalue.org> skribis:
> So this change *could* alter results, but only for non-ASCII strings,
> and those results would have been wrong (i.e. relying on uninitialized
> memory).
OK, that was my understanding too.
> That leaves the size_t -> long change in scm_i_str2symbol(), and I don't
> think that has anything to do with UTF-8, but it could cause mangling of
> the value on any platform where the data types differ sufficiently, and
> then of course if we're not using the same type consistently, then we
> could give different answers for the same symbol in different contexts
> (for different code paths).
Right. This one looks safe to me.
> And indeed, looks like I missed another case; just below in
> scm_i_str2uninterned_symbol() we also use size_t. For now, I suspect we
> should change both or neither, and definitely change them all to match
> "eventually".
Sure.
Thanks!
Ludo’.