Message ID | AS8P250MB074416EDC2DE92B80BF4B2B28F212@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | 357e339898204f5c1dfdcc96fc52ffdc293d5781 |
Headers | show |
Series | [FFmpeg-devel] avcodec/xpmdec: Avoid unnecessary size_t->int conversion | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Andreas Rheinhardt: > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavcodec/xpmdec.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c > index 5bc02378c8..e7f8a90fdc 100644 > --- a/libavcodec/xpmdec.c > +++ b/libavcodec/xpmdec.c > @@ -233,14 +233,12 @@ static size_t mod_strcspn(const char *string, const char *reject) > return i; > } > > -static uint32_t color_string_to_rgba(const char *p, int len) > +static uint32_t color_string_to_rgba(const char *p, size_t len) > { > uint32_t ret = 0xFF000000; > const ColorEntry *entry; > char color_name[100]; > > - len = FFMIN(FFMAX(len, 0), sizeof(color_name) - 1); > - > if (*p == '#') { > p++; > len--; > @@ -271,6 +269,7 @@ static uint32_t color_string_to_rgba(const char *p, int len) > (hex_char_to_number(p[0]) << 28); > } > } else { > + len = FFMIN(len, sizeof(color_name) - 1); > strncpy(color_name, p, len); > color_name[len] = '\0'; > > @@ -375,7 +374,7 @@ static int xpm_decode_frame(AVCodecContext *avctx, AVFrame *p, > > for (i = 0; i < ncolors; i++) { > const uint8_t *index; > - int len; > + size_t len; > > ptr += mod_strcspn(ptr, "\"") + 1; > if (end - ptr < cpp) Will apply this patch tomorrow unless there are objections. - Andreas
diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c index 5bc02378c8..e7f8a90fdc 100644 --- a/libavcodec/xpmdec.c +++ b/libavcodec/xpmdec.c @@ -233,14 +233,12 @@ static size_t mod_strcspn(const char *string, const char *reject) return i; } -static uint32_t color_string_to_rgba(const char *p, int len) +static uint32_t color_string_to_rgba(const char *p, size_t len) { uint32_t ret = 0xFF000000; const ColorEntry *entry; char color_name[100]; - len = FFMIN(FFMAX(len, 0), sizeof(color_name) - 1); - if (*p == '#') { p++; len--; @@ -271,6 +269,7 @@ static uint32_t color_string_to_rgba(const char *p, int len) (hex_char_to_number(p[0]) << 28); } } else { + len = FFMIN(len, sizeof(color_name) - 1); strncpy(color_name, p, len); color_name[len] = '\0'; @@ -375,7 +374,7 @@ static int xpm_decode_frame(AVCodecContext *avctx, AVFrame *p, for (i = 0; i < ncolors; i++) { const uint8_t *index; - int len; + size_t len; ptr += mod_strcspn(ptr, "\"") + 1; if (end - ptr < cpp)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/xpmdec.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)