aboutsummaryrefslogtreecommitdiff
path: root/packages/patches/array_overflow_fix-0.39.2.patch
blob: d7178dde2919a3f7872851241635e92962d4e96d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- s_inter.c.orig	2006-09-19 11:44:05.000000000 -0400
+++ s_inter.c	2006-09-19 16:44:21.000000000 -0400
@@ -844,7 +844,8 @@
 
 #define FIRSTPORTNUM 5400
 
-static int defaultfontshit[] = {
+#define MAXFONTS 21
+static int defaultfontshit[MAXFONTS] = {
     8, 5, 9, 10, 6, 10, 12, 7, 13, 14, 9, 17, 16, 10, 19, 24, 15, 28,
         24, 15, 28};
 
@@ -894,7 +895,7 @@
     {
             /* fake the GUI's message giving cwd and font sizes; then
             skip starting the GUI up. */
-        t_atom zz[19];
+        t_atom zz[MAXFONTS+2];
         int i;
 #ifdef _WIN32
         if (GetCurrentDirectory(MAXPDSTRING, cmdbuf) == 0)
@@ -906,10 +907,10 @@
         
 #endif
         SETSYMBOL(zz, gensym(cmdbuf));
-        for (i = 1; i < 22; i++)
-            SETFLOAT(zz + i, defaultfontshit[i-1]);
-        SETFLOAT(zz+22,0);
-        glob_initfromgui(0, 0, 23, zz);
+        for (i = 0; i < MAXFONTS; i++)
+            SETFLOAT(zz+i+1, defaultfontshit[i]);
+        SETFLOAT(zz+i+1,0);
+        glob_initfromgui(0, 0, MAXFONTS+2, zz);
     }
     else if (sys_guisetportnumber)  /* GUI exists and sent us a port number */
     {