summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/interface.c10
-rw-r--r--src/powder.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/interface.c b/src/interface.c
index 112fef4..5940e6e 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -867,11 +867,19 @@ void login_ui(pixel *vid_buf)
if (res && !strncmp(res, "OK ", 3))
{
char *s_id,*u_e,*nres;
+ printf("\n{%s}\n", res);
s_id = strchr(res+3, ' ');
+ if (!s_id)
+ goto fail;
*(s_id++) = 0;
u_e = strchr(s_id, ' ');
- *(u_e++) = 0;
+ if (!u_e){
+ u_e = malloc(1);
+ memset(u_e, 0, 1);
+ }
+ else
+ *(u_e++) = 0;
strcpy(svf_user_id, res+3);
strcpy(svf_session_id, s_id);
diff --git a/src/powder.c b/src/powder.c
index b2932d1..6cafdb6 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -577,7 +577,7 @@ inline int create_part(int p, int x, int y, int t)
if (t==PT_SPRK)
{
- if (!((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS)))
+ if ((pmap[y][x]>>8)>=NPART || !((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS)))
return -1;
if (parts[pmap[y][x]>>8].life!=0)
return -1;