Skip to content
Permalink
Browse files

Bug:

Submitted by:   Charlie Allom <charlie@rubberduck.com> (maintainer)
Reviewed by:
Approved by:
Obtained from:

security update that removes a buffer overflow that can be used for privilege escalation
for local users.

git-svn-id: https://svn.macports.org/repository/macports/trunk/dports@4134 d073be05-634f-4543-b044-5fe20cf6d1d6
  • Loading branch information
Felix Kronlage
Felix Kronlage committed Dec 6, 2003
1 parent 0af0536 commit 11370b95c080a080ea0846b4afc42de26511e53b
Showing with 35 additions and 3 deletions.
  1. +4 −3 sysutils/screen/Portfile
  2. +11 −0 sysutils/screen/files/patch-maxargs
  3. +20 −0 sysutils/screen/files/patch-windowsize
@@ -1,10 +1,10 @@
# $Id: Portfile,v 1.15 2003/11/17 21:20:04 jkh Exp $
# $Id: Portfile,v 1.16 2003/12/06 17:29:58 fkr Exp $

PortSystem 1.0

name screen
version 4.0.1
revision 1
revision 2
homepage http://www.gnu.org/software/screen/
description Screen manager with VT100/ANSI terminal emulation
long_description Screen is a full-screen window manager that multiplexes a physical \
@@ -27,6 +27,7 @@ distfiles-append 18:encoding

checksums ${distname}${extract.suffix} md5 2f674d5a7a299abf085d0b69c90de4f8 \
18 md5 e5c53546a5c4968bd7e807c88e6b2198
patchfiles patch-maxargs patch-windowsize

extract.only ${distname}${extract.suffix}
post-extract {system "cp ${distpath}/18 ${workpath}" }
@@ -36,4 +37,4 @@ post-destroot {system "cp ${workpath}/18 ${destroot}/${prefix}/share/${name}/
system "cp ${workpath}/${distname}/terminfo/screencap ${destroot}/${prefix}/etc/termcap"
system "tic ${workpath}/${distname}/terminfo/screeninfo.src"}

variant darwin { patchfiles patch-osdef.h.in }
variant darwin { patchfiles-append patch-osdef.h.in }
@@ -0,0 +1,11 @@
--- ansi.c.orig Mon Sep 8 16:24:44 2003
+++ ansi.c
@@ -559,7 +559,7 @@ register int len;
{
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- if (curr->w_NumArgs < MAXARGS)
+ if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS)
{
if (curr->w_args[curr->w_NumArgs] < 100000000)
curr->w_args[curr->w_NumArgs] =
@@ -0,0 +1,20 @@
--- resize.c.orig Mon Sep 8 16:26:31 2003
+++ resize.c
@@ -682,6 +682,17 @@ int wi, he, hi;
if (wi == 0)
he = hi = 0;

+ if (wi > 1000)
+ {
+ Msg(0, "Window width too large, truncated");
+ wi = 1000;
+ }
+ if (he > 1000)
+ {
+ Msg(0, "Window height too large, truncated");
+ he = 1000;
+ }
+
if (p->w_width == wi && p->w_height == he && p->w_histheight == hi)
{
debug("ChangeWindowSize: No change.\n");

0 comments on commit 11370b9

Please sign in to comment.
You can’t perform that action at this time.