public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly
       [not found] <bug-22668-131@http.sourceware.org/bugzilla/>
@ 2020-06-29  2:26 ` carlos at redhat dot com
  2021-04-26 12:39 ` carlos at redhat dot com
  2021-04-27  7:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 3+ messages in thread
From: carlos at redhat dot com @ 2020-06-29  2:26 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=22668

Carlos O'Donell <carlos at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |carlos at redhat dot com
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-06-29

--- Comment #1 from Carlos O'Donell <carlos at redhat dot com> ---
I confirm that this fix corrects the issue.

I've reviewed the code in question and indeed the right solution is to move the
cursor to the end of the ellipsis sequence which is pointed to by endp.

I actually end up triggering this when working on C.UTF-8. I saw the end
pointer in all long ellipsis sequences getting the wrong sorting value because
they didn't get any weights (they were being unlinked).

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly
       [not found] <bug-22668-131@http.sourceware.org/bugzilla/>
  2020-06-29  2:26 ` [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly carlos at redhat dot com
@ 2021-04-26 12:39 ` carlos at redhat dot com
  2021-04-27  7:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 3+ messages in thread
From: carlos at redhat dot com @ 2021-04-26 12:39 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=22668

Carlos O'Donell <carlos at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
   Target Milestone|---                         |2.34

--- Comment #2 from Carlos O'Donell <carlos at redhat dot com> ---
Fixed in 2.34.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly
       [not found] <bug-22668-131@http.sourceware.org/bugzilla/>
  2020-06-29  2:26 ` [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly carlos at redhat dot com
  2021-04-26 12:39 ` carlos at redhat dot com
@ 2021-04-27  7:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 3+ messages in thread
From: fweimer at redhat dot com @ 2021-04-27  7:23 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=22668

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fweimer at redhat dot com

--- Comment #3 from Florian Weimer <fweimer at redhat dot com> ---
commit 82292c99b2b68504e0b09b19a339d0232c2e1eaa
Author: Hanataka Shinya <hanataka.shinya@gmail.com>
Date:   Wed Feb 17 23:00:48 2021 -0500

    LC_COLLATE: Fix last character ellipsis handling (Bug 22668)

    During ellipsis processing the collation cursor was not correctly
    moved to the end of the ellipsis after processing.

    The code inserted the new entry after the cursor, but before the
    real end of the ellipsis:
                                    [cursor]
    ... element_t <-> element_t <-> element_t <-> element_t
                      "<U0000>"     "<U0001>"     "<U007F>"
                      startp                      endp

    At the end of the function we have:

                      [cursor]
    ... element_t <-> element_t <-> element_t
                      "<U007E>"     "<U007F>"
                                    endp

    The cursor should be pointing at endp, the last element in the
    doubly-linked list, otherwise when execution returns to the
    caller we will start inserting the next line after <U007E>.

    Subsequent operations end up unlinking the ellipsis end entry or
    just leaving it in the list dangling from the end.  This kind of
    dangling is immediately visible in C.UTF-8 with the following
    sorting from strcoll:
    <U0010FFFF>
    <U0000FFFF>
    <U000007FF>
    <U0000007F>

    With the cursor correctly adjusted the end entry is correctly given
    the right location and thus the right weight.

    Retested and no regressions on x86_64 and i686.

    Co-authored-by: Carlos O'Donell <carlos@redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-27  7:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-22668-131@http.sourceware.org/bugzilla/>
2020-06-29  2:26 ` [Bug locale/22668] LC_COLLATE: the last character of ellipsis is not ordered correctly carlos at redhat dot com
2021-04-26 12:39 ` carlos at redhat dot com
2021-04-27  7:23 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).