浏览代码

Fix a reasource leak. Keyfile should be closed after reading.

AdrianSimionov 9 年之前
父节点
当前提交
acf9d58af8
共有 1 个文件被更改,包括 8 次插入7 次删除
  1. 8 7
      src/docsis.c

+ 8 - 7
src/docsis.c

@@ -487,15 +487,16 @@ main (int argc, char *argv[])
   if (encode_docsis)
     {
       if ((kf = fopen (key_file, "r")) == NULL)
-	{
-	  fprintf (stderr, "docsis: error: can't open keyfile %s\n", key_file);
-	  exit (-5);
-	}
+        {
+          fprintf (stderr, "docsis: error: can't open keyfile %s\n", key_file);
+          exit (-5);
+        }
       keylen = fread (key, sizeof (unsigned char), 64, kf);
       while (keylen > 0 && (key[keylen - 1] == 10 || key[keylen - 1] == 13))
-	{
-	  keylen--;		/* eliminate trailing \n or \r */
-	}
+        {
+          keylen--;		/* eliminate trailing \n or \r */
+        }
+      fclose(kf);
     }
 
   init_global_symtable ();