diff mbox series

[FFmpeg-devel,1/2] libavfilter/signature_lookup: fix possible division by zero

Message ID 20240505223040.521838-1-gerion.entrup@flump.de
State New
Headers show
Series [FFmpeg-devel,1/2] libavfilter/signature_lookup: fix possible division by zero | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Gerion Entrup May 5, 2024, 10:30 p.m. UTC
---
 libavfilter/signature_lookup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Niedermayer May 7, 2024, 5:46 p.m. UTC | #1
On Mon, May 06, 2024 at 12:30:39AM +0200, Gerion Entrup wrote:
> ---
>  libavfilter/signature_lookup.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavfilter/signature_lookup.c b/libavfilter/signature_lookup.c
> index a0ca818a9b..b39a3e225b 100644
> --- a/libavfilter/signature_lookup.c
> +++ b/libavfilter/signature_lookup.c
> @@ -128,7 +128,7 @@ static int get_jaccarddist(SignatureContext *sc, CoarseSignature *first, CoarseS
>      int jaccarddist, i, composdist = 0, cwthcount = 0;
>      for (i = 0; i < 5; i++) {
>          if ((jaccarddist = intersection_word(first->data[i], second->data[i])) > 0) {
> -            jaccarddist /= union_word(first->data[i], second->data[i]);
> +            jaccarddist /= FFMAX(union_word(first->data[i], second->data[i]), 1);
>          }

for which input data does this cause a division by 0 ?

thx

[...]
diff mbox series

Patch

diff --git a/libavfilter/signature_lookup.c b/libavfilter/signature_lookup.c
index a0ca818a9b..b39a3e225b 100644
--- a/libavfilter/signature_lookup.c
+++ b/libavfilter/signature_lookup.c
@@ -128,7 +128,7 @@  static int get_jaccarddist(SignatureContext *sc, CoarseSignature *first, CoarseS
     int jaccarddist, i, composdist = 0, cwthcount = 0;
     for (i = 0; i < 5; i++) {
         if ((jaccarddist = intersection_word(first->data[i], second->data[i])) > 0) {
-            jaccarddist /= union_word(first->data[i], second->data[i]);
+            jaccarddist /= FFMAX(union_word(first->data[i], second->data[i]), 1);
         }
         if (jaccarddist >= sc->thworddist) {
             if (++cwthcount > 2) {