diff -urN screen-3.9.9/ansi.c screen-3.9.10/ansi.c --- screen-3.9.9/ansi.c Thu May 10 19:41:30 2001 +++ screen-3.9.10/ansi.c Tue Sep 4 22:13:37 2001 @@ -2220,7 +2220,7 @@ int n, ys, ye, bce; { int i, cnt1, cnt2; - struct mline *tmp[256]; + struct mline tmp[256]; struct mline *ml; if (n == 0) diff -urN screen-3.9.9/patchlevel.h screen-3.9.10/patchlevel.h --- screen-3.9.9/patchlevel.h Fri May 25 23:38:01 2001 +++ screen-3.9.10/patchlevel.h Tue Sep 4 23:14:41 2001 @@ -464,11 +464,13 @@ * 'U+' prefix in digraph command. LOADAV_TYPE * detection fixed. * -- DISTRIBUTED + * 4.09.01 -- 3.09.10 '-R' security fix. Fixed array in MScrollV(). + * -- DISTRIBUTED */ #define ORIGIN "FAU" #define REV 3 #define VERS 9 -#define PATCHLEVEL 9 -#define DATE "25-May-01" +#define PATCHLEVEL 10 +#define DATE "4-Sep-01" #define STATE "" diff -urN screen-3.9.9/process.c screen-3.9.10/process.c --- screen-3.9.9/process.c Wed May 16 01:42:36 2001 +++ screen-3.9.10/process.c Tue Sep 4 23:16:08 2001 @@ -4738,7 +4738,7 @@ { if (ch < ' ' || ch == '\177') return; - if (len >= 1 && (*buf == 'U' && buf[1] == '+') || (*buf == '0' && (buf[1] == 'x' || buf[1] == 'X'))) + if (len >= 1 && ((*buf == 'U' && buf[1] == '+') || (*buf == '0' && (buf[1] == 'x' || buf[1] == 'X')))) { if (len == 1) return; @@ -4770,7 +4770,7 @@ len++; if (len < 2) return; - if (len >= 1 && (*buf == 'U' && buf[1] == '+') || (*buf == '0' && (buf[1] == 'x' || buf[1] == 'X'))) + if (len >= 1 && ((*buf == 'U' && buf[1] == '+') || (*buf == '0' && (buf[1] == 'x' || buf[1] == 'X')))) { x = 0; for (i = 2; i < len; i++) diff -urN screen-3.9.9/screen.c screen-3.9.10/screen.c --- screen-3.9.9/screen.c Fri May 25 23:40:10 2001 +++ screen-3.9.10/screen.c Tue Sep 4 22:14:51 2001 @@ -1061,6 +1061,10 @@ Attacher(); /* NOTREACHED */ } +#ifdef MULTIUSER + if (multiattach) + Panic(0, "Can't create sessions of other users."); +#endif debug("screen -r: backend not responding -- still crying\n"); } else if (dflag && !mflag)