summaryrefslogtreecommitdiffstats
path: root/lib/plugins/Logger.cpp
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-10-22 17:25:15 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2010-10-22 17:25:15 +0200
commitff3392b9c9471cd6d837a9ab3abe135ab2d75edf (patch)
tree65595bf77f2bacc9315f20e6718356193f61cfe4 /lib/plugins/Logger.cpp
parentb74cfbee13b9d2723dd48fe3e2a049fc55129699 (diff)
downloadabrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.tar.gz
abrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.tar.xz
abrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.zip
introduce and use xmalloc_fgets/fgetline
This fixes problems of having long lines truncated - and we do have very long lines sometimes - curl errors with HTML, list of debuginfos etc. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'lib/plugins/Logger.cpp')
-rw-r--r--lib/plugins/Logger.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/plugins/Logger.cpp b/lib/plugins/Logger.cpp
index 2985208e..8a47319f 100644
--- a/lib/plugins/Logger.cpp
+++ b/lib/plugins/Logger.cpp
@@ -105,10 +105,10 @@ string CLogger::Report(const map_crash_data_t& crash_data,
FILE *fp = fdopen(pipefds[0], "r");
if (!fp)
die_out_of_memory();
- char buf[512];
- while (fgets(buf, sizeof(buf), fp))
+ char *buf;
+ while ((buf = xmalloc_fgets(fp)) != NULL)
{
- full_write_str(fd, buf);
+ full_write_str(fd, buf);
}
fclose(fp); /* this also closes pipefds[0] */
/* wait for child to actually exit, and prevent leaving a zombie behind */