From d6f85d204994b7f4a7afe943f4d5fa873599cd01 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Fri, 30 Oct 2009 17:25:36 +0100 Subject: Python backtrace size limited to 1 MB --- src/Hooks/abrt-pyhook-helper.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Hooks/abrt-pyhook-helper.cpp b/src/Hooks/abrt-pyhook-helper.cpp index 7ad605f..f8bda84 100644 --- a/src/Hooks/abrt-pyhook-helper.cpp +++ b/src/Hooks/abrt-pyhook-helper.cpp @@ -98,20 +98,26 @@ int main(int argc, char** argv) char *bt = (char*)malloc(capacity); if (!bt) { - printf("Error while allocating memory for backtrace.\n"); + fprintf(stderr, "Error while allocating memory for backtrace.\n"); return 1; } char *btptr = bt; while ((c = getchar()) != EOF) { - *btptr++ = (char)c; + *btptr++ = (char)c; if (btptr - bt >= capacity - 1) { capacity *= 2; + if (capacity > 1048576) // > 1 MB + { + fprintf(stderr, "Backtrace size limit exceeded. Trimming to 1 MB.\n"); + break; + } + bt = (char*)realloc(bt, capacity); if (!bt) { - printf("Error while allocating memory for backtrace.\n"); + fprintf(stderr, "Error while allocating memory for backtrace.\n"); return 1; } } -- cgit