From 614174444ce27a22f25e08a50cca3af5d3d07bae Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 4 Jun 2012 14:47:33 -0700 Subject: [PATCH] Avoid walking off array if given a negative value for array size. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Obviously, a negative size is bogus, but we want apitrace to be robust enough to capture even bogus usage of the API, (so that the user can investigate and fix the bogosity in the application). In this case, if the user specifies a negative size for an array, simply don't write anything out for the array content. Signed-off-by: José Fonseca --- wrappers/trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/trace.py b/wrappers/trace.py index c838dc7..5f6f52b 100644 --- a/wrappers/trace.py +++ b/wrappers/trace.py @@ -187,7 +187,7 @@ class ValueSerializer(stdapi.Visitor): length = '_c' + array.type.tag index = '_i' + array.type.tag print ' if (%s) {' % instance - print ' size_t %s = %s;' % (length, array.length) + print ' size_t %s = %s > 0 ? %s : 0;' % (length, array.length, array.length) print ' trace::localWriter.beginArray(%s);' % length print ' for (size_t %s = 0; %s < %s; ++%s) {' % (index, index, length, index) print ' trace::localWriter.beginElement();' -- 2.43.0