Pacify more compiler warnings

* text_input.c (EncodeIMString):
* xdata.c (GetConversionCallback, PostReceiveConversion): Pacify
GCC suspecting memory leaks after iconv_open returns -1.
This commit is contained in:
hujianwei 2022-11-17 02:45:33 +00:00
parent 69e0902cfc
commit d2abef20c4
2 changed files with 23 additions and 0 deletions

View file

@ -2222,12 +2222,19 @@ EncodeIMString (const char *input, size_t input_size, int *chars)
/* If creating the cd failed, bail out. */
if (cd == (iconv_t) -1)
{
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
/* Restore the old locale. */
if (!setlocale (LC_CTYPE, oldlocale))
abort ();
XLFree (oldlocale);
return NULL;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
/* Otherwise, start converting. */

16
xdata.c
View file

@ -1691,11 +1691,20 @@ GetConversionCallback (WriteTransfer *transfer, Atom target, Atom *type,
cd = iconv_open ("ISO-8859-1", "UTF-8");
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
if (cd == (iconv_t) -1)
/* The conversion context couldn't be initialized, so fail this
transfer. */
return NULL;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
/* First, create a non-blocking pipe. We will give the write end to
the client. */
rc = pipe2 (pipe, O_NONBLOCK);
@ -1885,10 +1894,17 @@ PostReceiveConversion (Time time, Atom selection, Atom target, int fd)
if (cd == (iconv_t) -1)
{
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wanalyzer-malloc-leak"
#endif
/* The conversion context couldn't be created. Close the file
descriptor and fail. */
close (fd);
return;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
}
info = XLCalloc (1, sizeof *info);