Re: [Vala] realloc fails on large inputs
- From: Thomas Thaler <ttff 900 hotmail de>
- To: vala-list gnome org
- Subject: Re: [Vala] realloc fails on large inputs
- Date: Sun, 26 Feb 2017 17:19:30 +0100
Is this probably a bug in the vala implementation?
Since I replaced the implementation of the clone method it works without
any problem. Here's my code:
public Number(string value){
_data = value.data;
for (int i = 0; i < _data.length; i++){
_data[i] -= 48;
}
}
private Number.from_data(uint8[] data){
_data = data;
}
// [...]
public Number clone(){
return new Number.from_data(_data);
//return new Number(to_string()); <-- this was the old implementation
}
public string to_string(){
uint8[] str = new uint8[_data.length];
for (int i = 0; i < str.length; i++){
str[i] = _data[i] + 48;
}
return (string)str;
}
I can't imagine what should go wrong if i subtract 48 from a whole array
and add it to it later on.
Sincerely,
Thomas Thaler
Am 26/02/2017 um 10:30 schrieb Thomas Thaler:
Thank you, now it does not crash anymore on calculating the factorial :)
Nonetheless size - 1 should equal to old_length. Because I call the
function using old_length + 1 so the new size should equal to the old
one - 1. Anyway, now it works :)
Unfortunately the error with the double free or corruption still exists.
Sincerely,
Thomas Thaler
Am 25/02/2017 um 02:09 schrieb Nor Jaidi Tuah:
Check this:
private void fill(int size){
int old_length = _data.length;
_data.resize(size);
_data.move(0, size - old_length, size - 1);
}
Shouldn't "size - 1" be old_length?
Nice day
Nor Jaidi Tuah
PRIVILEGED/CONFIDENTIAL information may be contained in this message.
If you are neither the addressee (intended recipient) nor an
authorised recipient of the addressee, and have received this message
in error, please destroy this message (including attachments) and
notify the sender immediately. STRICT PROHIBITION: This message,
whether in part or in whole, should not be reviewed, retained, copied,
reused, disclosed, distributed or used for any purpose whatsoever.
Such unauthorised use may be unlawful and may contain material
protected by the Official Secrets Act (Cap 153) of the Laws of Brunei
Darussalam. DISCLAIMER: We/This Department/The Government of Brunei
Darussalam, accept[s] no responsibility for loss or damage arising
from the use of this message in any manner whatsoever. Our m
es
sages are checked for viruses but we do not accept liability for any
viruses which may be transmitted in or with this message.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]