Explorar o código

duplocale: don't crash when called with LC_GLOBAL_LOCALE

posix has resolved to add this usage; for now, we just avoid writing
anything to the new locale object since it's not used anyway.
Rich Felker %!s(int64=12) %!d(string=hai) anos
pai
achega
b3d7d062af
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/locale/duplocale.c

+ 1 - 1
src/locale/duplocale.c

@@ -6,6 +6,6 @@ locale_t duplocale(locale_t old)
 {
 	locale_t new;
 	new = calloc(1, sizeof *new);
-	if (new) memcpy(new, old, sizeof *new);
+	if (new && old != LC_GLOBAL_LOCALE) memcpy(new, old, sizeof *new);
 	return new;
 }