diff --git a/display/d.barscale/draw_scale.c b/display/d.barscale/draw_scale.c index c53a48ed576..64612b1cead 100644 --- a/display/d.barscale/draw_scale.c +++ b/display/d.barscale/draw_scale.c @@ -634,8 +634,12 @@ int draw_scale(double east, double north, int length, int seg, int units, } D_stroke(); - if (fontsize < 0) + if (fontsize < 0) { + if (length != 0) { + G_free(label); + } return 0; + } /* draw the distance + units text */ @@ -676,6 +680,9 @@ int draw_scale(double east, double north, int length, int seg, int units, D_pos_abs(x_pos + 5 - (tr - tl), y_pos + ysize / 2 + (tt - tb) / 2); D_text(label); } + if (length != 0) { + G_free(label); + } return 0; }