Description: Prevent some possible division-by-zero errors in exif_entry_get_value()
Origin: commit:e22f73064f804c94e90b642cd0db4697c827da72
Author: orangesnn <52818007+orangesnn@users.noreply.github.com>
Bug: https://github.com/libexif/libexif/issues/31
Bug-Debian: https://bugs.debian.org/960199
Last-Update: 2020-05-13

---
 libexif/exif-entry.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- a/libexif/exif-entry.c
+++ b/libexif/exif-entry.c
@@ -1085,7 +1085,7 @@
 			break;
 		}
 		d = (double) v_rat.numerator / (double) v_rat.denominator;
-		if (d < 1)
+		if (d < 1 && d)
 			snprintf (val, maxlen, _("1/%i"), (int) (0.5 + 1. / d));
 		else
 			snprintf (val, maxlen, "%i", (int) d);
@@ -1102,8 +1102,9 @@
 		}
 		d = (double) v_srat.numerator / (double) v_srat.denominator;
 		snprintf (val, maxlen, _("%.02f EV"), d);
-		d = 1. / pow (2, d);
-		if (d < 1)
+		if (pow (2, d))
+			d = 1. / pow (2, d);
+		if (d < 1 && d)
 		  snprintf (b, sizeof (b), _(" (1/%d sec.)"), (int) (1. / d));
 		else
 		  snprintf (b, sizeof (b), _(" (%d sec.)"), (int) d);
