Преглед на файлове

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 преди 12 години
родител
ревизия
b3d7d062af
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  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;
 }