]> git.pld-linux.org Git - packages/slang.git/blob - slang-security.patch
- adapterized, cosmetics
[packages/slang.git] / slang-security.patch
1 --- slang1.3.5/src/sltermin.c.old       Tue Jan 12 06:29:12 1999
2 +++ slang1.3.5/src/sltermin.c   Wed May 12 17:17:15 1999
3 @@ -105,7 +105,31 @@
4      * I will also look into the use of setreuid, seteuid and setregid, setegid.
5      * FIXME: Priority=medium
6      */
7 +    /* If your system lacks setfsuid/getfsuid either write
8 +       equivalent support or dont use slang to build setuid/setgid
9 +       apps like Mutt */
10
11 +   if(setfsuid(getuid())==-1)
12 +   {
13 +       perror("setfsuid");
14 +       return NULL;
15 +   }
16 +   if(setfsgid(getgid())==-1)
17 +   {
18 +       perror("setfsgid");
19 +       return NULL;
20 +   }
21     fp = fopen (file, "rb");
22 +   if(setfsuid(geteuid())==-1)
23 +   {
24 +       perror("setfsuid");
25 +       return NULL;
26 +   }
27 +   if(setfsgid(getegid())==-1)
28 +   {
29 +       perror("setfsgid");
30 +       return NULL;
31 +   }
32     if (fp == NULL) return NULL;
33  
34     if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf))))
35 @@ -278,7 +302,7 @@
36         if ((tidir != NULL)
37             && (sizeof (file) > strlen (tidir) + 2 + strlen (term)))
38           {
39 -            sprintf (file, "%s/%c/%s", tidir, *term, term);
40 +            snprintf (file, sizeof(file), "%s/%c/%s", tidir, *term, term);
41              if (NULL != (fp = open_terminfo (file, ti)))
42                break;
43           }
This page took 0.062592 seconds and 3 git commands to generate.