File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -590,7 +590,7 @@ static void
590590setup_readline (void )
591591{
592592#ifdef SAVE_LOCALE
593- char * saved_locale = setlocale (LC_CTYPE , NULL );
593+ char * saved_locale = strdup ( setlocale (LC_CTYPE , NULL ) );
594594#endif
595595
596596 using_history ();
@@ -631,6 +631,7 @@ setup_readline(void)
631631
632632#ifdef SAVE_LOCALE
633633 setlocale (LC_CTYPE , saved_locale ); /* Restore locale */
634+ free (saved_locale );
634635#endif
635636}
636637
Original file line number Diff line number Diff line change @@ -235,7 +235,7 @@ Py_Initialize(void)
235235 initialized by other means. Also set the encoding of
236236 stdin and stdout if these are terminals. */
237237
238- saved_locale = setlocale (LC_CTYPE , NULL );
238+ saved_locale = strdup ( setlocale (LC_CTYPE , NULL ) );
239239 setlocale (LC_CTYPE , "" );
240240 codeset = nl_langinfo (CODESET );
241241 if (codeset && * codeset ) {
@@ -250,6 +250,7 @@ Py_Initialize(void)
250250 } else
251251 codeset = NULL ;
252252 setlocale (LC_CTYPE , saved_locale );
253+ free (saved_locale );
253254
254255 if (codeset ) {
255256 sys_stream = PySys_GetObject ("stdin" );
You can’t perform that action at this time.
0 commit comments