Meu código ficou diferente, mas consegui o mesmo resultado. Tem algum problema?
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext('2d');
function desenhaEsquadro (xa, ya, xc, yc,xd, yd, xf, yf, cor) {
pincel.beginPath();
pincel.moveTo(xa, ya);
pincel.lineTo(xa, yc);
pincel.lineTo(xc, yc);
pincel.fill();
pincel.fillStyle = cor;
pincel.beginPath();
pincel.moveTo(xd, yd);
pincel.lineTo(xd, yf);
pincel.lineTo(xf, yf);
pincel.fill();
}
desenhaEsquadro(50, 50, 400, 400, 100, 175, 275, 350, 'white');
</script>