From: Rico Tzschichholz Date: Tue, 29 Jan 2019 16:05:30 +0000 (+0100) Subject: libvaladoc: Don't change the size of an array in-parameter X-Git-Tag: 0.43.90~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0d437af1ef37cdf7f985d7aa856b3bdb9eeeb9b;p=thirdparty%2Fvala.git libvaladoc: Don't change the size of an array in-parameter Avoid a possible memory issue while the resize of an array reference is possible, the new length can't be propagated back to the caller. Issue an warning for unexpected string lengths. --- diff --git a/libvaladoc/markupwriter.vala b/libvaladoc/markupwriter.vala index b796aa5b7..578701436 100644 --- a/libvaladoc/markupwriter.vala +++ b/libvaladoc/markupwriter.vala @@ -114,8 +114,9 @@ public class Valadoc.MarkupWriter { check_column (name); if (attributes.length % 2 != 0) { - attributes.resize (attributes.length+1); - attributes[attributes.length-1] = ""; + warning ("Given attributes array is not a list of pairs (name and value)"); + // This only effects array length of this in-parameter in this scope + attributes.length -= 1; } var content = new StringBuilder ("<"); @@ -144,8 +145,9 @@ public class Valadoc.MarkupWriter { check_column (name); if (attributes.length % 2 != 0) { - attributes.resize (attributes.length+1); - attributes[attributes.length-1] = ""; + warning ("Given attributes array is not a list of pairs (name and value)"); + // This only effects array length of this in-parameter in this scope + attributes.length -= 1; } var content = new StringBuilder ("<");