screen.patch 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. Security Bugfix
  2. http://www.securityfocus.com/archive/1/345844/2003-11-24/2003-11-30/0
  3. Index: ansi.c
  4. --- ansi.c.orig 2003-09-08 16:24:44.000000000 +0200
  5. +++ ansi.c 2003-11-27 20:08:53.000000000 +0100
  6. @@ -559,7 +559,7 @@
  7. {
  8. case '0': case '1': case '2': case '3': case '4':
  9. case '5': case '6': case '7': case '8': case '9':
  10. - if (curr->w_NumArgs < MAXARGS)
  11. + if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
  12. {
  13. if (curr->w_args[curr->w_NumArgs] < 100000000)
  14. curr->w_args[curr->w_NumArgs] =
  15. Index: resize.c
  16. --- resize.c.orig 2003-09-08 16:26:31.000000000 +0200
  17. +++ resize.c 2003-11-27 20:09:49.000000000 +0100
  18. @@ -682,6 +682,17 @@
  19. if (wi == 0)
  20. he = hi = 0;
  21. + if (wi > 1000)
  22. + {
  23. + Msg(0, "Window width too large, truncated");
  24. + wi = 1000;
  25. + }
  26. + if (he > 1000)
  27. + {
  28. + Msg(0, "Window height too large, truncated");
  29. + he = 1000;
  30. + }
  31. +
  32. if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
  33. {
  34. debug("ChangeWindowSize: No change.\n");
  35. Index: configure.in
  36. --- configure.in.orig 2003-06-03 13:58:24.000000000 +0200
  37. +++ configure.in 2004-05-27 12:43:38.909016000 +0200
  38. @@ -206,7 +206,7 @@
  39. AC_CHECKING(for Solaris 2.x)
  40. AC_EGREP_CPP(yes,
  41. -[#if defined(SVR4) && defined(sun)
  42. +[#if defined(__SVR4) && defined(__sun)
  43. yes
  44. #endif
  45. ], LIBS="$LIBS -lsocket -lnsl -lkstat")
  46. @@ -270,7 +270,7 @@
  47. dnl multiuser screen sessions
  48. AC_CHECKING(seteuid)
  49. AC_TRY_LINK(,[
  50. -#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
  51. +#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(__sun) && defined(__SVR4)) || defined(ISC) || defined(sony_news)
  52. seteuid_is_broken(0);
  53. #else
  54. seteuid(0);
  55. @@ -815,7 +815,7 @@
  56. AC_TRY_LINK([
  57. #include <time.h> /* to get time_t on SCO */
  58. #include <sys/types.h>
  59. -#if defined(SVR4) && !defined(DGUX)
  60. +#if defined(__SVR4) && !defined(DGUX)
  61. #include <utmpx.h>
  62. #define utmp utmpx
  63. #else
  64. @@ -832,7 +832,7 @@
  65. AC_TRY_LINK([
  66. #include <time.h>
  67. #include <sys/types.h>
  68. -#if defined(SVR4) && !defined(DGUX)
  69. +#if defined(__SVR4) && !defined(DGUX)
  70. #include <utmpx.h>
  71. #define utmp utmpx
  72. #else
  73. @@ -848,7 +848,7 @@
  74. AC_TRY_COMPILE([
  75. #include <time.h>
  76. #include <sys/types.h>
  77. -#if defined(SVR4) && !defined(DGUX)
  78. +#if defined(__SVR4) && !defined(DGUX)
  79. #include <utmpx.h>
  80. #define utmp utmpx
  81. #else
  82. @@ -979,7 +979,7 @@
  83. #include <sys/types.h>
  84. #include <sys/param.h>
  85. ],[
  86. -#if !defined(LOADAV_GETLOADAVG) && ((defined(hp300) && !defined(__hpux)) || defined(sun) || (defined(ultrix) && defined(mips)) || defined(_SEQUENT_) || defined(sgi) || (defined(SVR4) && !defined(__hpux)) || defined(sony_news) || (!defined(__osf__) && defined(__alpha)) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX) || defined(m88k))
  87. +#if !defined(LOADAV_GETLOADAVG) && ((defined(hp300) && !defined(__hpux)) || defined(__sun) || (defined(ultrix) && defined(mips)) || defined(_SEQUENT_) || defined(sgi) || (defined(__SVR4) && !defined(__hpux)) || defined(sony_news) || (!defined(__osf__) && defined(__alpha)) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX) || defined(m88k))
  88. loadtype=long
  89. # if defined(apollo) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX)
  90. loadscale=65536
  91. @@ -992,7 +992,7 @@
  92. loadtype=int
  93. loadscale=1024
  94. # else
  95. -# if defined(MIPS) || defined(SVR4) || defined(m88k)
  96. +# if defined(MIPS) || defined(__SVR4) || defined(m88k)
  97. loadscale=256
  98. # else /* not MIPS */
  99. loadscale=1000 /* our default value */
  100. Index: configure
  101. --- configure.orig 2003-12-05 14:46:53.000000000 +0100
  102. +++ configure 2004-05-27 12:45:06.186001000 +0200
  103. @@ -3911,7 +3911,7 @@
  104. cat confdefs.h >>conftest.$ac_ext
  105. cat >>conftest.$ac_ext <<_ACEOF
  106. /* end confdefs.h. */
  107. -#if defined(SVR4) && defined(sun)
  108. +#if defined(__SVR4) && defined(__sun)
  109. yes
  110. #endif
  111. @@ -4042,7 +4042,7 @@
  112. main ()
  113. {
  114. -#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
  115. +#if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(__sun) && defined(__SVR4)) || defined(ISC) || defined(sony_news)
  116. seteuid_is_broken(0);
  117. #else
  118. seteuid(0);
  119. @@ -5572,7 +5572,7 @@
  120. #include <time.h> /* to get time_t on SCO */
  121. #include <sys/types.h>
  122. -#if defined(SVR4) && !defined(DGUX)
  123. +#if defined(__SVR4) && !defined(DGUX)
  124. #include <utmpx.h>
  125. #define utmp utmpx
  126. #else
  127. @@ -5624,7 +5624,7 @@
  128. #include <time.h>
  129. #include <sys/types.h>
  130. -#if defined(SVR4) && !defined(DGUX)
  131. +#if defined(__SVR4) && !defined(DGUX)
  132. #include <utmpx.h>
  133. #define utmp utmpx
  134. #else
  135. @@ -5680,7 +5680,7 @@
  136. #include <time.h>
  137. #include <sys/types.h>
  138. -#if defined(SVR4) && !defined(DGUX)
  139. +#if defined(__SVR4) && !defined(DGUX)
  140. #include <utmpx.h>
  141. #define utmp utmpx
  142. #else
  143. @@ -6316,7 +6316,7 @@
  144. _CUT_HERE_
  145. -#if !defined(LOADAV_GETLOADAVG) && ((defined(hp300) && !defined(__hpux)) || defined(sun) || (defined(ultrix) && defined(mips)) || defined(_SEQUENT_) || defined(sgi) || (defined(SVR4) && !defined(__hpux)) || defined(sony_news) || (!defined(__osf__) && defined(__alpha)) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX) || defined(m88k))
  146. +#if !defined(LOADAV_GETLOADAVG) && ((defined(hp300) && !defined(__hpux)) || defined(__sun) || (defined(ultrix) && defined(mips)) || defined(_SEQUENT_) || defined(sgi) || (defined(__SVR4) && !defined(__hpux)) || defined(sony_news) || (!defined(__osf__) && defined(__alpha)) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX) || defined(m88k))
  147. loadtype=long
  148. # if defined(apollo) || defined(_IBMR2) || defined(_AUX_SOURCE) || defined(AUX)
  149. loadscale=65536
  150. @@ -6329,7 +6329,7 @@
  151. loadtype=int
  152. loadscale=1024
  153. # else
  154. -# if defined(MIPS) || defined(SVR4) || defined(m88k)
  155. +# if defined(MIPS) || defined(__SVR4) || defined(m88k)
  156. loadscale=256
  157. # else /* not MIPS */
  158. loadscale=1000 /* our default value */
  159. Index: misc.c
  160. --- misc.c.orig 2004-05-27 13:32:29.762001000 +0200
  161. +++ misc.c 2004-05-27 13:39:40.883005000 +0200
  162. @@ -613,7 +613,7 @@
  163. */
  164. # endif /* NEEDSETENV */
  165. #else /* USESETENV */
  166. -# if defined(linux) || defined(__convex__) || (BSD >= 199103)
  167. +# if defined(linux) || defined(__sun) || defined(__convex__) || (BSD >= 199103)
  168. setenv(var, value, 1);
  169. # else
  170. setenv(var, value);
  171. Index: os.h
  172. --- os.h.orig 2002-01-08 16:42:33 +0100
  173. +++ os.h 2005-11-08 11:01:37 +0100
  174. @@ -25,6 +25,7 @@
  175. #include <stdio.h>
  176. #include <errno.h>
  177. +#include <string.h>
  178. #include <sys/param.h>
  179. /* In strict ANSI mode, HP-UX machines define __hpux but not hpux */
  180. @@ -161,7 +162,7 @@
  181. # define setregid(rgid, egid) setresgid(rgid, egid, -1)
  182. #endif
  183. -#if defined(HAVE_SETEUID) || defined(HAVE_SETREUID)
  184. +#if (defined(HAVE_SETEUID) || defined(HAVE_SETREUID)) && __FreeBSD_version < 500000
  185. # define USE_SETEUID
  186. #endif