From 371285d6a8beeca32bc0889ae4b39703667e91ac Mon Sep 17 00:00:00 2001 From: Colin Basnett Date: Wed, 21 Nov 2018 13:40:43 -0800 Subject: [PATCH 1/3] Fix for bug https://bugs.php.net/bug.php?id=77184 --- ext/exif/exif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 7b51e2f9a77ea..48e937216194f 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -2415,7 +2415,7 @@ static void add_assoc_image_info(zval *value, int sub_array, image_info_type *im break; case TAG_FMT_URATIONAL: - snprintf(buffer, sizeof(buffer), "%i/%i", info_value->ur.num, info_value->ur.den); + snprintf(buffer, sizeof(buffer), "%u/%u", info_value->ur.num, info_value->ur.den); if (l==1) { add_assoc_string(&tmpi, name, buffer); } else { From 643d9e3226afbfeb9d8452426543892c75620364 Mon Sep 17 00:00:00 2001 From: Colin Basnett Date: Thu, 22 Nov 2018 16:34:55 -0800 Subject: [PATCH 2/3] Added test to cover bug #77184. --- ext/exif/tests/bug77184/DJI_0245_tiny.JPG | Bin 0 -> 26001 bytes ext/exif/tests/bug77184/bug77184.phpt | Bin 0 -> 3794 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ext/exif/tests/bug77184/DJI_0245_tiny.JPG create mode 100644 ext/exif/tests/bug77184/bug77184.phpt diff --git a/ext/exif/tests/bug77184/DJI_0245_tiny.JPG b/ext/exif/tests/bug77184/DJI_0245_tiny.JPG new file mode 100644 index 0000000000000000000000000000000000000000..dd5adbd7ce1f5e3cbdbe40e1205709730ae19842 GIT binary patch literal 26001 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 Date: Fri, 23 Nov 2018 11:39:37 -0800 Subject: [PATCH 3/3] Fix for test to simply test the GPS values instead of the whole file. --- ext/exif/tests/bug77184/bug77184.phpt | Bin 3794 -> 480 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ext/exif/tests/bug77184/bug77184.phpt b/ext/exif/tests/bug77184/bug77184.phpt index 9e3a474ff3d38bc6d7330c6876d195529536073b..bbe7c93b614b68667b70ee6bd6078029cc65a2c5 100644 GIT binary patch delta 179 zcmca4`+#|a3L}R~Nn(1jf~~@2T}JVGYp&GfjC=*KShTu(K(J3@NoGlDN~(Hnv{9^% zLV!m=ysN(trn3CJbgb&^?YL}hZC(8RT!9pquC8lDfU9$eo31XGp{bdfrJ<#ovJ|q$M%$;-ZocqYx*|a;Eo}J~c)(i4Sqgpl3N#WKD#lqtb30Neg$6VsASC2dh z2@5!R3PcofkH~dISV(rDVKH}hHu+?YtsZ#&>%G79iI|hZ@BA4Kh2YM1C3Cn_IN{G? zeo`zFKM-C-PQtIkC-@!wP*CDYxZ@iWE_-zO$=mnuz_~TFz%$(LuOoZOJjdlhEBD}bfD=8d-_>Mte+q9dTuxfV5rM~6ykOf1uQzZ@YC`5xRogj@6fwBErNVFbZ13bauq`MtaIn-d)t@u}FHf_xQdt!g$a)HIvL z4QwL5YsUyN>xMzM*6E9%u_l%QxJ_9!Ap;1B64(E5d8T+nkxv;Ei(#xfKb5A=x?169{uY)MdV_E2+rsYbo@H2DQJGCAM21!i71NN*t{{d_qSF-^x15d9GaL@>3a{zsB zKjVFzXcM^(W@)3I=q?NO1j9#&#RU6>oG~{e9o=bgFi-<_g7p2+mV=>;w11671wAls zJC6$+_9c1o`gKCMhqsQ!^YK^S2r8bU6Q3O-k3!k&0T_kS+Qy!VBn7arxFk$j_9$Et zy^QAbkn0MIaYn;Xtqn(NCW|^s2=Yx5)?~)L^w>=yRN%Tic3w(l{cb5De#KnoWujHq zSgXwaTgnv{kId=~Rzs{-mEZ02Sze{KS^@b?EvlX#6K*pfmyFc9fRU?9ubJ>b