From 7be96c379227b2a24cf8874e3f037263000d6e58 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 19 May 2010 17:58:17 +0000 Subject: Do not return pointer to on-stack memory. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31184 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/w32_common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libvo') diff --git a/libvo/w32_common.c b/libvo/w32_common.c index 0f737599ad..c31a5454f5 100644 --- a/libvo/w32_common.c +++ b/libvo/w32_common.c @@ -410,6 +410,7 @@ int vo_w32_config(uint32_t width, uint32_t height, uint32_t flags) { /** * \brief return the name of the selected device if it is indepedant + * \return pointer to string, must be freed. */ static char *get_display_name(void) { DISPLAY_DEVICE disp; @@ -417,7 +418,7 @@ static char *get_display_name(void) { EnumDisplayDevices(NULL, vo_adapter_num, &disp, 0); if (disp.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) return NULL; - return disp.DeviceName; + return strdup(disp.DeviceName); } /** @@ -495,6 +496,7 @@ int vo_w32_init(void) { dev_hdc = 0; dev = get_display_name(); if (dev) dev_hdc = CreateDC(dev, NULL, NULL, NULL); + free(dev); updateScreenProperties(); vo_hdc = vo_w32_get_dc(vo_window); -- cgit v1.2.3