Merge pull request from GHSA-rwgw-vwxg-q799

* Prevent potential infinite loop when parsing WAV format file

* Check if subchunk is negative.

* Fix and add checks

* Change data type from pj_ssize_t to long.

* Modify check

* Fix leak file descriptor and modify check on wav_playlist

* Move overflow/underflow check to pj_file_setpos()

* Use macro to simplify check

* modification based on comments

* Remove unnecessary casting

* Modification based on comments