Pixel Envy

Written by Nick Heer.

ImageCaptureCore Framework Apparently Adds Over a Megabyte of Empty Data to Images Converted From HEIC

Norbert Doerner, developer of NeoFinder:

If you connect an iPhone or iPad to your Mac, and use Image Capture to transfer the photos you took with the device to the Mac, you have the option to convert the HEIC photos taken by iOS to more standard JPG files. This requires you to uncheck the “Keep Originals” option in the settings for that iOS device, as shown here.

Apple’s Image Capture will then happily convert the HEIF files to JPG format for you, when they are copied to your Mac.

But what is also does is to add more than 1.5 MB of totally empty data to every single photo file it creates!

Doerner describes this bug as “disturbing” and “able to quickly fill your macOS volumes”, which seems like a wild exaggeration. It is hugely embarrassing to have a years-old bug like this in such a simple piece of software, but the possibility of it filling drives is, to put it mildly, an edge case.

Tim Hardwick, MacRumors:

NeoFinder developer Norbert Doerner, who originally discovered the bug, informed MacRumors that the same issue affects nearly all Mac apps that import photos from cameras and iOS devices, including Adobe Lightroom, Affinity Photo, PhaseOne Media Pro, and Apple’s legacy iPhoto and Aperture apps.

The reason is said to be because the bug is located inside Apple’s ImageCaptureCore framework, which is a part of macOS that all developers must use to connect to digital cameras. The only app that isn’t affected is said to be Apple’s Photos app, which uses other undocumented APIs to talk to iOS devices.

I suspect very few people at Apple use anything other than Photos to transfer images from their iPhones, and it shows. For those who use any other application, however, this is a the kind of relatively minor bug that has lasting consequence.