_fix_fgets_warning
authorDebian BOINC Maintainers <pkg-boinc-devel@lists.alioth.debian.org>
Tue, 28 Aug 2012 03:05:07 +0000 (03:05 +0000)
committerGuo Yixuan <culu.gyx@gmail.com>
Tue, 28 Aug 2012 03:05:07 +0000 (03:05 +0000)
===================================================================

Gbp-Pq: Name 210_fix_fgets_warning.patch

client/seti_header.cpp

index ccfeed2816e9ca0dbc874877019b4cf55160a2d5..51f2e007fb9e90ec69b536e932a3648c8d1aa743 100644 (file)
@@ -170,8 +170,9 @@ SETI_WU_INFO swi;
 static workunit *wu;
 
 int seti_parse_wu_header(FILE* f) {
-  char buf[256];
+  char buf[2560];
   int found=0;
+  buf[0]=0;
  
   std::string buffer("");
   buffer.reserve(10*1024);
@@ -183,13 +184,14 @@ int seti_parse_wu_header(FILE* f) {
   //swi.fft_len=2048;
   //swi.ifft_len=8;
 
+  char *fgets_return_value;
   do {
-    fgets(buf, 256, f);
-  } while (!feof(f) && !xml_match_tag(buf,"<workunit_header")) ;
+    fgets_return_value=fgets(buf, sizeof(buf), f);
+  } while (!feof(f) && fgets_return_value && !xml_match_tag(buf,"<workunit_header")) ;
  
   buffer+=buf;
 
-  while (fgets(buf, 256, f) && !xml_match_tag(buf,"</workunit_header")) {
+  while (fgets(buf, sizeof(buf), f) && !xml_match_tag(buf,"</workunit_header")) {
     buffer+=buf;
   }
   buffer+=buf;
@@ -207,8 +209,9 @@ int seti_parse_wu_header(FILE* f) {
 }
 
 int seti_parse_wu_header(FILE* f, SETI_WU_INFO &swi) {
-  char buf[256];
+  char buf[2560];
   int found=0;
+  buf[0]=0;
   
   std::string buffer("");
   buffer.reserve(10*1024);
@@ -219,13 +222,14 @@ int seti_parse_wu_header(FILE* f, SETI_WU_INFO &swi) {
   //swi.fft_len=2048;
   //swi.ifft_len=8;
 
+  char *fgets_return_value;
   do {
-    fgets(buf, 256, f);
-  } while (!feof(f) && !xml_match_tag(buf,"<workunit_header")) ;
+    fgets_return_value=fgets_return_value=fgets(buf, sizeof(buf), f);
+  } while (!feof(f) && fgets_return_value && !xml_match_tag(buf,"<workunit_header")) ;
   
   buffer+=buf;
 
-  while (fgets(buf, 256, f) && !xml_match_tag(buf,"</workunit_header")) {
+  while (fgets(buf, sizeof(buf), f) && !xml_match_tag(buf,"</workunit_header")) {
     buffer+=buf;
   }
   buffer+=buf;