diff --git a/src/interpret.c b/src/interpret.c index 3e41b2390806b48a682ff1587b782e3a9719036e..6b1669d11f19005aa1f238fdbcaba22612cabaa9 100644 --- a/src/interpret.c +++ b/src/interpret.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: interpret.c,v 1.124 1999/05/08 16:42:48 grubba Exp $"); +RCSID("$Id: interpret.c,v 1.125 1999/05/13 07:24:51 hubbe Exp $"); #include "interpret.h" #include "object.h" #include "program.h" @@ -295,6 +295,9 @@ void assign_lvalue(struct svalue *lval,struct svalue *from) if(from->u.array->size < (lval[1].u.array->size>>1)) error("Not enough values for multiple assign.\n"); + if(from->u.array->size > (lval[1].u.array->size>>1)) + error("Too many values for multiple assign.\n"); + for(e=0;e<from->u.array->size;e++) assign_lvalue(lval[1].u.array->item+(e<<1),from->u.array->item+e); } diff --git a/src/modules/system/nt.c b/src/modules/system/nt.c index a96c4eb5c69378c3112ef56ea875ba88620d761c..d47657f506b87b457f25e8a7cb00dca1459f3425 100644 --- a/src/modules/system/nt.c +++ b/src/modules/system/nt.c @@ -1,5 +1,5 @@ /* - * $Id: nt.c,v 1.9 1999/03/23 20:25:28 marcus Exp $ + * $Id: nt.c,v 1.10 1999/05/13 07:23:12 hubbe Exp $ * * NT system calls for Pike * @@ -19,6 +19,7 @@ #include "module_support.h" #include "array.h" #include "constants.h" +#include "builtin_functions.h" #include <winsock.h> #include <windows.h>