aboutsummaryrefslogtreecommitdiff
path: root/fallback.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-02-22 17:34:33 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-02-22 17:34:33 -0300
commit8c1a9899d4460aa19780919f4245c08d7ebba0e9 (patch)
tree685817907f64133330011eb7db845830c9327a3e /fallback.c
parent05caf09a36cadaab401bc9a24e29e2cd6e4126d4 (diff)
downloadlua-8c1a9899d4460aa19780919f4245c08d7ebba0e9.tar.gz
lua-8c1a9899d4460aa19780919f4245c08d7ebba0e9.tar.bz2
lua-8c1a9899d4460aa19780919f4245c08d7ebba0e9.zip
functions "luaI_free" and "luaI_realloc" (or macro "growvector") may be
called with NULL.
Diffstat (limited to 'fallback.c')
-rw-r--r--fallback.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/fallback.c b/fallback.c
index 00eb458a..62732f6b 100644
--- a/fallback.c
+++ b/fallback.c
@@ -3,7 +3,7 @@
3** TecCGraf - PUC-Rio 3** TecCGraf - PUC-Rio
4*/ 4*/
5 5
6char *rcs_fallback="$Id: fallback.c,v 1.18 1996/01/30 15:25:23 roberto Exp roberto $"; 6char *rcs_fallback="$Id: fallback.c,v 1.19 1996/02/08 19:08:34 roberto Exp roberto $";
7 7
8#include <stdio.h> 8#include <stdio.h>
9#include <string.h> 9#include <string.h>
@@ -132,16 +132,8 @@ int luaI_lock (Object *object)
132 } 132 }
133 /* no more empty spaces */ 133 /* no more empty spaces */
134 oldSize = lockSize; 134 oldSize = lockSize;
135 if (lockArray == NULL) 135 lockSize = (lockSize == 0) ? 10 : 3*lockSize/2 + 5;
136 { 136 lockArray = growvector(lockArray, lockSize, Object);
137 lockSize = 10;
138 lockArray = newvector(lockSize, Object);
139 }
140 else
141 {
142 lockSize = 3*oldSize/2 + 5;
143 lockArray = growvector(lockArray, lockSize, Object);
144 }
145 for (i=oldSize; i<lockSize; i++) 137 for (i=oldSize; i<lockSize; i++)
146 tag(&lockArray[i]) = LUA_T_NIL; 138 tag(&lockArray[i]) = LUA_T_NIL;
147 lockArray[oldSize] = *object; 139 lockArray[oldSize] = *object;