forked from pool/emacs
This commit is contained in:
parent
d1e80997ab
commit
0731a05d63
@ -1147,7 +1147,7 @@
|
|||||||
+;; Ende von linux.el
|
+;; Ende von linux.el
|
||||||
--- site-lisp/term/locale.el
|
--- site-lisp/term/locale.el
|
||||||
+++ site-lisp/term/locale.el 2007-06-04 15:26:38.703969552 +0200
|
+++ site-lisp/term/locale.el 2007-06-04 15:26:38.703969552 +0200
|
||||||
@@ -0,0 +1,37 @@
|
@@ -0,0 +1,16 @@
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;; term/locale.el for site-lisp path
|
+;;; term/locale.el for site-lisp path
|
||||||
+;;; Copyright (c) 1996-2003 SuSE Linux AG Nuernberg, Germany.
|
+;;; Copyright (c) 1996-2003 SuSE Linux AG Nuernberg, Germany.
|
||||||
@ -1155,27 +1155,6 @@
|
|||||||
+;;;
|
+;;;
|
||||||
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
|
+;;; Author: Werner Fink <werner@suse.de>, No warranty of any kind
|
||||||
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
+;;
|
|
||||||
+;; Umlaute
|
|
||||||
+;; -------
|
|
||||||
+
|
|
||||||
+(let* ((tmp (shell-command-to-string "locale charmap"))
|
|
||||||
+ (tmp (substring tmp 0 (string-match "\[ \t\n\]" tmp)))
|
|
||||||
+ (tmp (downcase tmp)))
|
|
||||||
+ (when (coding-system-p (intern tmp))
|
|
||||||
+ (set-keyboard-coding-system (intern tmp))
|
|
||||||
+ (set-terminal-coding-system (intern tmp))
|
|
||||||
+ (set-default-coding-systems (intern tmp))))
|
|
||||||
+;; Set this only if no default is given
|
|
||||||
+(unless (terminal-coding-system)
|
|
||||||
+ (set-terminal-coding-system 'iso-latin-9))
|
|
||||||
+;; Set input mode
|
|
||||||
+(let ((value (current-input-mode)))
|
|
||||||
+ (set-input-mode (nth 0 value)
|
|
||||||
+ (nth 1 value)
|
|
||||||
+ (terminal-coding-system)
|
|
||||||
+ ;; This quit value is optional
|
|
||||||
+ (nth 3 value)))
|
|
||||||
+
|
+
|
||||||
+(add-hook 'term-setup-hook (function (lambda ()
|
+(add-hook 'term-setup-hook (function (lambda ()
|
||||||
+ (load "term/func-keys" t t))))
|
+ (load "term/func-keys" t t))))
|
||||||
@ -1280,40 +1259,6 @@
|
|||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
--- src/process.c
|
|
||||||
+++ src/process.c 2007-05-15 19:29:13.505217000 +0200
|
|
||||||
@@ -528,8 +528,22 @@ status_message (p)
|
|
||||||
static int
|
|
||||||
allocate_pty ()
|
|
||||||
{
|
|
||||||
- register int c, i;
|
|
||||||
int fd;
|
|
||||||
+#ifdef UNIX98_PTYS
|
|
||||||
+ if ((fd = getpt ()) < 0)
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ if (grantpt (fd) < 0 ||
|
|
||||||
+ unlockpt (fd) < 0 ||
|
|
||||||
+ ptsname_r (fd, pty_name, sizeof pty_name))
|
|
||||||
+ {
|
|
||||||
+ close (fd);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ setup_pty (fd);
|
|
||||||
+ return fd;
|
|
||||||
+#else
|
|
||||||
+ register int c, i;
|
|
||||||
|
|
||||||
#ifdef PTY_ITERATION
|
|
||||||
PTY_ITERATION
|
|
||||||
@@ -607,6 +621,7 @@ allocate_pty ()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
+#endif /* !UNIX98_PTYS */
|
|
||||||
}
|
|
||||||
#endif /* HAVE_PTYS */
|
|
||||||
|
|
||||||
--- src/m/hp800.h
|
--- src/m/hp800.h
|
||||||
+++ src/m/hp800.h 2007-05-15 19:33:25.880021000 +0200
|
+++ src/m/hp800.h 2007-05-15 19:33:25.880021000 +0200
|
||||||
@@ -71,7 +71,7 @@ Boston, MA 02110-1301, USA. */
|
@@ -71,7 +71,7 @@ Boston, MA 02110-1301, USA. */
|
||||||
|
86
emacs-22.1-format.diff
Normal file
86
emacs-22.1-format.diff
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
2007-11-15 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* editfns.c (Fformat): Correctly format EMACS_INT values.
|
||||||
|
Also take precision into account when formatting an integer.
|
||||||
|
|
||||||
|
Index: src/editfns.c
|
||||||
|
================================================================================
|
||||||
|
--- src/editfns.c
|
||||||
|
+++ src/editfns.c
|
||||||
|
@@ -3543,8 +3543,10 @@ usage: (format STRING &rest OBJECTS) */
|
||||||
|
precision[n+1] = 10 * precision[n+1] + *format - '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (format - this_format_start + 1 > longest_format)
|
||||||
|
- longest_format = format - this_format_start + 1;
|
||||||
|
+ /* Extra +1 for 'l' that we may need to insert into the
|
||||||
|
+ format. */
|
||||||
|
+ if (format - this_format_start + 2 > longest_format)
|
||||||
|
+ longest_format = format - this_format_start + 2;
|
||||||
|
|
||||||
|
if (format == end)
|
||||||
|
error ("Format string ends in middle of format specifier");
|
||||||
|
@@ -3605,7 +3607,7 @@ usage: (format STRING &rest OBJECTS) */
|
||||||
|
&& *format != 'i' && *format != 'X' && *format != 'c')
|
||||||
|
error ("Invalid format operation %%%c", *format);
|
||||||
|
|
||||||
|
- thissize = 30;
|
||||||
|
+ thissize = 30 + (precision[n] > 0 ? precision[n] : 0);
|
||||||
|
if (*format == 'c')
|
||||||
|
{
|
||||||
|
if (! SINGLE_BYTE_CHAR_P (XINT (args[n]))
|
||||||
|
@@ -3803,23 +3805,40 @@ usage: (format STRING &rest OBJECTS) */
|
||||||
|
format - this_format_start);
|
||||||
|
this_format[format - this_format_start] = 0;
|
||||||
|
|
||||||
|
- if (INTEGERP (args[n]))
|
||||||
|
+ if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 'g')
|
||||||
|
+ sprintf (p, this_format, XFLOAT_DATA (args[n]));
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
- if (format[-1] == 'd')
|
||||||
|
- sprintf (p, this_format, XINT (args[n]));
|
||||||
|
- /* Don't sign-extend for octal or hex printing. */
|
||||||
|
+ if (sizeof (EMACS_INT) > sizeof (int)
|
||||||
|
+ && format[-1] != 'c')
|
||||||
|
+ {
|
||||||
|
+ /* Insert 'l' before format spec. */
|
||||||
|
+ this_format[format - this_format_start]
|
||||||
|
+ = this_format[format - this_format_start - 1];
|
||||||
|
+ this_format[format - this_format_start - 1] = 'l';
|
||||||
|
+ this_format[format - this_format_start + 1] = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (INTEGERP (args[n]))
|
||||||
|
+ {
|
||||||
|
+ if (format[-1] == 'c')
|
||||||
|
+ sprintf (p, this_format, (int) XINT (args[n]));
|
||||||
|
+ else if (format[-1] == 'd')
|
||||||
|
+ sprintf (p, this_format, XINT (args[n]));
|
||||||
|
+ /* Don't sign-extend for octal or hex printing. */
|
||||||
|
+ else
|
||||||
|
+ sprintf (p, this_format, XUINT (args[n]));
|
||||||
|
+ }
|
||||||
|
+ else if (format[-1] == 'c')
|
||||||
|
+ sprintf (p, this_format, (int) XFLOAT_DATA (args[n]));
|
||||||
|
+ else if (format[-1] == 'd')
|
||||||
|
+ /* Maybe we should use "%1.0f" instead so it also works
|
||||||
|
+ for values larger than MAXINT. */
|
||||||
|
+ sprintf (p, this_format, (EMACS_INT) XFLOAT_DATA (args[n]));
|
||||||
|
else
|
||||||
|
- sprintf (p, this_format, XUINT (args[n]));
|
||||||
|
+ /* Don't sign-extend for octal or hex printing. */
|
||||||
|
+ sprintf (p, this_format, (EMACS_UINT) XFLOAT_DATA (args[n]));
|
||||||
|
}
|
||||||
|
- else if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 'g')
|
||||||
|
- sprintf (p, this_format, XFLOAT_DATA (args[n]));
|
||||||
|
- else if (format[-1] == 'd')
|
||||||
|
- /* Maybe we should use "%1.0f" instead so it also works
|
||||||
|
- for values larger than MAXINT. */
|
||||||
|
- sprintf (p, this_format, (EMACS_INT) XFLOAT_DATA (args[n]));
|
||||||
|
- else
|
||||||
|
- /* Don't sign-extend for octal or hex printing. */
|
||||||
|
- sprintf (p, this_format, (EMACS_UINT) XFLOAT_DATA (args[n]));
|
||||||
|
|
||||||
|
if (p > buf
|
||||||
|
&& multibyte
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 22 14:23:04 CET 2007 - schwab@suse.de
|
||||||
|
|
||||||
|
- Fix buffer overflow in format [#342158].
|
||||||
|
- Remove obsolete patches.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Nov 5 13:43:09 CET 2007 - werner@suse.de
|
Mon Nov 5 13:43:09 CET 2007 - werner@suse.de
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Requires: emacs-info ctags emacs_program
|
|||||||
Provides: ge_site ge_exec emacs-url Mule-UCS emacs-calc erc
|
Provides: ge_site ge_exec emacs-url Mule-UCS emacs-calc erc
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 22.1
|
Version: 22.1
|
||||||
Release: 56
|
Release: 62
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Summary: GNU Emacs Base Package
|
Summary: GNU Emacs Base Package
|
||||||
Source: emacs-22.1.tar.bz2
|
Source: emacs-22.1.tar.bz2
|
||||||
@ -45,6 +45,7 @@ Patch12: emacs-22.0.99-x11r7.patch
|
|||||||
Patch13: emacs-22.0.99-s390x.dif
|
Patch13: emacs-22.0.99-s390x.dif
|
||||||
Patch14: emacs-22.1-conf.diff
|
Patch14: emacs-22.1-conf.diff
|
||||||
Patch15: emacs-22.1-CVE-2007-5795.dif
|
Patch15: emacs-22.1-CVE-2007-5795.dif
|
||||||
|
Patch16: emacs-22.1-format.diff
|
||||||
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)}
|
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)}
|
||||||
%if "%_exec_prefix" == "/usr/X11R6"
|
%if "%_exec_prefix" == "/usr/X11R6"
|
||||||
%define _x11lib %{_exec_prefix}/%{_lib}
|
%define _x11lib %{_exec_prefix}/%{_lib}
|
||||||
@ -214,6 +215,7 @@ Authors:
|
|||||||
%patch13 -p0 -b .s390x
|
%patch13 -p0 -b .s390x
|
||||||
%patch14
|
%patch14
|
||||||
%patch15 -p0 -b .CVE20075795
|
%patch15 -p0 -b .CVE20075795
|
||||||
|
%patch16
|
||||||
%patch
|
%patch
|
||||||
if test ! -e $HOME/.mh_profile && type -p install-mh > /dev/null 2>&1; then
|
if test ! -e $HOME/.mh_profile && type -p install-mh > /dev/null 2>&1; then
|
||||||
install-mh -auto < /dev/null
|
install-mh -auto < /dev/null
|
||||||
@ -3188,7 +3190,11 @@ done
|
|||||||
/usr/share/emacs/%{version}/lisp/x-dnd.el.gz
|
/usr/share/emacs/%{version}/lisp/x-dnd.el.gz
|
||||||
/usr/share/emacs/%{version}/lisp/xml.el.gz
|
/usr/share/emacs/%{version}/lisp/xml.el.gz
|
||||||
/usr/share/emacs/%{version}/lisp/xt-mouse.el.gz
|
/usr/share/emacs/%{version}/lisp/xt-mouse.el.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 22 2007 - schwab@suse.de
|
||||||
|
- Fix buffer overflow in format [#342158].
|
||||||
|
- Remove obsolete patches.
|
||||||
* Mon Nov 05 2007 - werner@suse.de
|
* Mon Nov 05 2007 - werner@suse.de
|
||||||
- Fix insufficient safe mode checks (bug #339033, CVE-2007-5795)
|
- Fix insufficient safe mode checks (bug #339033, CVE-2007-5795)
|
||||||
* Fri Sep 07 2007 - schwab@suse.de
|
* Fri Sep 07 2007 - schwab@suse.de
|
||||||
|
Loading…
x
Reference in New Issue
Block a user