From 5fa836175d96451c4e3d60761b017371a2f7495c Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Thu, 9 Aug 2012 08:33:05 +0300 Subject: used dynamic buffer for gpg data (fixes problem with large gpg output) --- src/utilities.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/utilities.cpp') diff --git a/src/utilities.cpp b/src/utilities.cpp index 242ccc4..e071aaf 100755 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -612,16 +612,18 @@ int onSendFile(WPARAM w, LPARAM l) void storeOutput(HANDLE ahandle, string *output) { BOOL success; - char readbuffer[4096] = {0}; + char *readbuffer = NULL; unsigned long transfered, available; do { PeekNamedPipe(ahandle,NULL,0,NULL,&available,NULL); if (!available) continue; - success=ReadFile(ahandle,readbuffer,sizeof(readbuffer),&transfered,NULL); + readbuffer = (char*)mir_alloc(available); + success=ReadFile(ahandle,readbuffer,available,&transfered,NULL); if (success && transfered) - output->append(readbuffer, 4096); + output->append(readbuffer, available); + mir_free(readbuffer); } while (available>0); } -- cgit v1.2.3