X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Ffits.c;h=ad73ab70de2e1efbc225d426d2ae94b437732dc3;hb=2e328a8a38e06e4737bc1253a568558a7c514e77;hp=365347fc6406ad1dbcf741d2e16fef537995cd1b;hpb=f3881c04e93ee70567bd3fe087f49b996b026d30;p=ffmpeg diff --git a/libavcodec/fits.c b/libavcodec/fits.c index 365347fc640..ad73ab70de2 100644 --- a/libavcodec/fits.c +++ b/libavcodec/fits.c @@ -138,6 +138,17 @@ int avpriv_fits_header_parse_line(void *avcl, FITSHeader *header, const uint8_t case STATE_BITPIX: CHECK_KEYWORD("BITPIX"); CHECK_VALUE("BITPIX", bitpix); + + switch(header->bitpix) { + case 8: + case 16: + case 32: case -32: + case 64: case -64: break; + default: + av_log(avcl, AV_LOG_ERROR, "invalid value of BITPIX %d\n", header->bitpix); \ + return AVERROR_INVALIDDATA; + } + dict_set_if_not_null(metadata, keyword, value); header->state = STATE_NAXIS;