Procházet zdrojové kódy

curses ui: add missing iconv_close calls

The iconv_t are opened but never closed.

Spotted by Coverity: CID 1399708
Spotted by Coverity: CID 1399709
Spotted by Coverity: CID 1399713

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-Id: <20190314172524.9290-1-samuel.thibault@ens-lyon.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Samuel Thibault před 6 roky
rodič
revize
a9fda24747
1 změnil soubory, kde provedl 6 přidání a 0 odebrání
  1. 6 0
      ui/curses.c

+ 6 - 0
ui/curses.c

@@ -519,6 +519,7 @@ static void font_setup(void)
 
     wchar_to_ucs_conv = iconv_open("UCS-2", "WCHAR_T");
     if (wchar_to_ucs_conv == (iconv_t) -1) {
+        iconv_close(ucs_to_wchar_conv);
         fprintf(stderr, "Could not convert font glyphs to UCS-2: '%s'\n",
                         strerror(errno));
         exit(1);
@@ -526,6 +527,8 @@ static void font_setup(void)
 
     font_conv = iconv_open("WCHAR_T", font_charset);
     if (font_conv == (iconv_t) -1) {
+        iconv_close(ucs_to_wchar_conv);
+        iconv_close(wchar_to_ucs_conv);
         fprintf(stderr, "Could not convert font glyphs from %s: '%s'\n",
                         font_charset, strerror(errno));
         exit(1);
@@ -646,6 +649,9 @@ static void font_setup(void)
             }
         }
     }
+    iconv_close(ucs_to_wchar_conv);
+    iconv_close(wchar_to_ucs_conv);
+    iconv_close(font_conv);
 }
 
 static void curses_setup(void)