projects
/
stockfish
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f16c231
)
A promotion piece cannot be a king or a pawn
author
Marco Costalba
<mcostalba@gmail.com>
Sun, 2 May 2010 12:39:47 +0000
(13:39 +0100)
committer
Marco Costalba
<mcostalba@gmail.com>
Wed, 5 May 2010 11:16:16 +0000
(12:16 +0100)
Or any other garbage value bigger then QUEEN.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/movegen.cpp
patch
|
blob
|
history
diff --git
a/src/movegen.cpp
b/src/movegen.cpp
index ea58740f59ccadb3e9a71c5702831f7ef53a8b93..df2b9b87b1b2cd96adb42986b0e14e3be40c81dd 100644
(file)
--- a/
src/movegen.cpp
+++ b/
src/movegen.cpp
@@
-338,6
+338,10
@@
bool move_is_legal(const Position& pos, const Move m, Bitboard pinned) {
||(square_rank(to) == RANK_1 && us != WHITE)) != bool(move_is_promotion(m)))
return false;
+ // The promotion piece, if any, must be valid
+ if (move_promotion_piece(m) > QUEEN || move_promotion_piece(m) == PAWN)
+ return false;
+
// Proceed according to the square delta between the origin and
// destination squares.
switch (direction)