# HG changeset patch # User reimar # Date 1274291897 0 # Node ID aab85e35de5200bece10b5ed5aba011cbc38b082 # Parent 2fef741f9ecc77ebcd9a8e68ab3a64e9ec4b0de8 Do not return pointer to on-stack memory. diff -r 2fef741f9ecc -r aab85e35de52 libvo/w32_common.c --- a/libvo/w32_common.c Wed May 19 17:55:39 2010 +0000 +++ b/libvo/w32_common.c Wed May 19 17:58:17 2010 +0000 @@ -410,6 +410,7 @@ /** * \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 @@ 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 @@ 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);