From 700891684e80e738fd92749acb0c552ca99f1ca9 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Fri, 12 Mar 1999 20:12:58 +0000 Subject: [PATCH] Check for NULL parameter in gdk_font_load. Plug a memory leak in gdkim.c. --- gdk/win32/gdkfont-win32.c | 2 ++ gdk/win32/gdkfont.c | 2 ++ gdk/win32/gdkim-win32.c | 2 +- gdk/win32/gdkim.c | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdk/win32/gdkfont-win32.c b/gdk/win32/gdkfont-win32.c index cfe9382fe1..539dda5de0 100644 --- a/gdk/win32/gdkfont-win32.c +++ b/gdk/win32/gdkfont-win32.c @@ -54,6 +54,8 @@ gdk_font_load (const gchar *font_name) int nHeight, nWidth, nEscapement, nOrientation, fnWeight; int logpixelsy; + g_return_val_if_fail (font_name != NULL, NULL); + private = g_new (GdkFontPrivate, 1); font = (GdkFont*) private; diff --git a/gdk/win32/gdkfont.c b/gdk/win32/gdkfont.c index cfe9382fe1..539dda5de0 100644 --- a/gdk/win32/gdkfont.c +++ b/gdk/win32/gdkfont.c @@ -54,6 +54,8 @@ gdk_font_load (const gchar *font_name) int nHeight, nWidth, nEscapement, nOrientation, fnWeight; int logpixelsy; + g_return_val_if_fail (font_name != NULL, NULL); + private = g_new (GdkFontPrivate, 1); font = (GdkFont*) private; diff --git a/gdk/win32/gdkim-win32.c b/gdk/win32/gdkim-win32.c index e3f6e09c64..4be640d946 100644 --- a/gdk/win32/gdkim-win32.c +++ b/gdk/win32/gdkim-win32.c @@ -186,7 +186,6 @@ gdk_wcstombs (const GdkWChar *src) } mbstr[mbsl] = '\0'; g_free (src_alt); - return mbstr; } else { @@ -233,6 +232,7 @@ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max) wcsl = dest_max; for (i = 0; i < wcsl; i++) dest[i] = wcstr[i]; + g_free (wcstr); return wcsl; } diff --git a/gdk/win32/gdkim.c b/gdk/win32/gdkim.c index e3f6e09c64..4be640d946 100644 --- a/gdk/win32/gdkim.c +++ b/gdk/win32/gdkim.c @@ -186,7 +186,6 @@ gdk_wcstombs (const GdkWChar *src) } mbstr[mbsl] = '\0'; g_free (src_alt); - return mbstr; } else { @@ -233,6 +232,7 @@ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max) wcsl = dest_max; for (i = 0; i < wcsl; i++) dest[i] = wcstr[i]; + g_free (wcstr); return wcsl; }