[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fixed string corruption bugs (was Guile: What's wrong with this?)
From: |
Mark H Weaver |
Subject: |
Re: Fixed string corruption bugs (was Guile: What's wrong with this?) |
Date: |
Sat, 07 Jan 2012 10:43:57 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) |
> From a8da72937ff4d04e8d39531773cc05e676b2be1c Mon Sep 17 00:00:00 2001
> From: Mark H Weaver <address@hidden>
> Date: Wed, 4 Jan 2012 17:59:27 -0500
> Subject: [PATCH] Fix bugs related to mutation-sharing substrings
>
> * libguile/strings.c (scm_i_is_narrow_string, scm_i_try_narrow_string,
> scm_i_string_set_x): Check to see if the provided string is a
> mutation-sharing substring, and do the right thing in that case.
> Previously, if such a string was passed to these functions, they would
> behave very badly: while trying to fetch and/or mutate the cell
> containing the stringbuf, they were actually fetching or mutating the
> cell containing original shared string. That's because
> mutation-sharing substring store the original string in CELL_1,
> whereas all other strings store the stringbuf there.
I committed this. Here's an example that segfaulted before these fixes:
scheme@(guile-user)> (define s (string-copy "hello"))
scheme@(guile-user)> (define ss (substring/shared s 1 4))
scheme@(guile-user)> (string-set! ss 0 #\λ)
Segmentation fault
Mark
- Re: Guile: What's wrong with this?, (continued)
- Re: Guile: What's wrong with this?, Bruce Korb, 2012/01/04
- Re: Guile: What's wrong with this?, David Kastrup, 2012/01/04
- Re: Guile: What's wrong with this?, Ian Price, 2012/01/04
- Re: Guile: What's wrong with this?, Mark H Weaver, 2012/01/04
- Re: Guile: What's wrong with this?, Bruce Korb, 2012/01/04
- Re: Guile: What's wrong with this?, David Kastrup, 2012/01/04
- Re: Guile: What's wrong with this?, Mark H Weaver, 2012/01/04
- Re: Guile: What's wrong with this?, Bruce Korb, 2012/01/04
- Re: Fixed string corruption bugs (was Guile: What's wrong with this?),
Mark H Weaver <=
- Re: Fixed string corruption bugs, Andy Wingo, 2012/01/07
- Re: Guile: What's wrong with this?, Mark H Weaver, 2012/01/04
- Re: Guile: What's wrong with this?, Andy Wingo, 2012/01/04
- Re: Guile: What's wrong with this?, Mark H Weaver, 2012/01/04
- Re: Guile: What's wrong with this?, Andy Wingo, 2012/01/04
- Re: Guile: What's wrong with this?, Bruce Korb, 2012/01/04
- Re: Guile: What's wrong with this?, David Kastrup, 2012/01/04
- Re: Guile: What's wrong with this?, Andy Wingo, 2012/01/04
- Re: Guile: What's wrong with this?, Bruce Korb, 2012/01/04
- Re: Guile: What's wrong with this?, Mark H Weaver, 2012/01/04