Silence some Valgrind errors

Need to have the allocated memory explicitly cleared for Valgrind
to know it.  We should probably start using calloc or something...
This commit is contained in:
Pasi Kallinen
2016-12-28 22:52:08 +02:00
parent 7cb97cbd14
commit 24f934dfea
3 changed files with 6 additions and 3 deletions
+4 -3
View File
@@ -385,11 +385,12 @@ long e_time;
xchar e_type; xchar e_type;
{ {
struct engr *ep; struct engr *ep;
unsigned smem = strlen(s) + 1;
if ((ep = engr_at(x, y)) != 0) if ((ep = engr_at(x, y)) != 0)
del_engr(ep); del_engr(ep);
ep = newengr(strlen(s) + 1); ep = newengr(smem);
(void) memset((genericptr_t)ep, 0, sizeof(struct engr)); (void) memset((genericptr_t)ep, 0, smem + sizeof(struct engr));
ep->nxt_engr = head_engr; ep->nxt_engr = head_engr;
head_engr = ep; head_engr = ep;
ep->engr_x = x; ep->engr_x = x;
@@ -401,7 +402,7 @@ xchar e_type;
exercise(A_WIS, TRUE); exercise(A_WIS, TRUE);
ep->engr_time = e_time; ep->engr_time = e_time;
ep->engr_type = e_type > 0 ? e_type : rnd(N_ENGRAVE - 1); ep->engr_type = e_type > 0 ? e_type : rnd(N_ENGRAVE - 1);
ep->engr_lth = strlen(s) + 1; ep->engr_lth = smem;
} }
/* delete any engraving at location <x,y> */ /* delete any engraving at location <x,y> */
+1
View File
@@ -91,6 +91,7 @@ int nrect;
NhRegion *reg; NhRegion *reg;
reg = (NhRegion *) alloc(sizeof(NhRegion)); reg = (NhRegion *) alloc(sizeof(NhRegion));
(void) memset((genericptr_t)reg, 0, sizeof(NhRegion));
/* Determines bounding box */ /* Determines bounding box */
if (nrect > 0) { if (nrect > 0) {
reg->bounding_box = rects[0]; reg->bounding_box = rects[0];
+1
View File
@@ -3307,6 +3307,7 @@ long cost;
return; return;
} }
tmp_dam = (struct damage *) alloc((unsigned) sizeof(struct damage)); tmp_dam = (struct damage *) alloc((unsigned) sizeof(struct damage));
(void) memset((genericptr_t)tmp_dam, 0, sizeof(struct damage));
tmp_dam->when = monstermoves; tmp_dam->when = monstermoves;
tmp_dam->place.x = x; tmp_dam->place.x = x;
tmp_dam->place.y = y; tmp_dam->place.y = y;