Bug 202762

Summary: Fix undefined behavior in graphics/jpeg-turbo (resulting in test errors with recent clang)
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: Antoine Brodin <antoine>
Status: Closed FIXED    
Severity: Affects Some People CC: bytestore
Priority: --- Flags: bugzilla: maintainer-feedback? (bytestore)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 201377    
Attachments:
Description Flags
Fix undefined behavior in libjpeg-turbo's jcdctmgr.c none

Description Dimitry Andric freebsd_committer freebsd_triage 2015-08-29 23:49:46 UTC
Created attachment 160505 [details]
Fix undefined behavior in libjpeg-turbo's jcdctmgr.c

During the exp-run in bug 201377, it was found that graphics/jpeg-turbo gives testing errors with a recent clang 3.7.0 snapshot, on amd64:

http://package22.nyi.freebsd.org/data/headamd64PR201377-default/2015-08-20_16h45m13s/logs/errors/libjpeg-turbo-1.4.0.log

This is caused by undefined behavior in libjpeg-turbo's quantization function.  It was reported upstream here:

https://github.com/libjpeg-turbo/libjpeg-turbo/issues/13

and subsequently fixed in this upstream commit:

https://github.com/libjpeg-turbo/libjpeg-turbo/commit/4cfa3f4c39c2e46eca3a65c67411d15e08a3fc70

I propose to merge the fix to jcdctmgr.c now, and it can be dropped again when libjpeg-turbo 1.4.2 comes out.
Comment 1 commit-hook freebsd_committer freebsd_triage 2015-09-13 20:27:15 UTC
A commit references this bug:

Author: antoine
Date: Sun Sep 13 20:27:08 UTC 2015
New revision: 396855
URL: https://svnweb.freebsd.org/changeset/ports/396855

Log:
  Fix negative shift with IFAST FDCT and qual=100
  This fixes regression tests with clang 3.7.0

  PR:		202762
  Obtained from:	https://github.com/libjpeg-turbo/libjpeg-turbo/commit/4cfa3f4c39c2e46eca3a65c67411d15e08a3fc70
  Approved by:	maintainer timeout (15 days)

Changes:
  head/graphics/jpeg-turbo/Makefile
  head/graphics/jpeg-turbo/files/patch-jcdctmgr.c