Opened 8 years ago

Closed 4 years ago

#37491 closed defect (fixed)

libgeotiff: geotifcp and EXC_BAD_ACCESS

Reported by: heikki.julkunen@… Owned by: stromnov (Andrew Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: haspatch Cc: cooljeanius (Eric Gallager), khindenburg@…
Port: libgeotiff

Description (last modified by ryandesign (Ryan Schmidt))

geotifcp works great in Ubuntu 12.04
The tiff file is large (316Mb) so better not attach it, please let me know if you need it.

> port version
Version: 2.1.2
> uname -a
Darwin mini.local 12.2.1 Darwin Kernel Version 12.2.1: Thu Oct 18 12:13:47 PDT 2012; root:xnu-2050.20.9~1/RELEASE_X86_64 x86_64

geotifcp -g KSEA.orig.geo.hp KSEA.enh.tif KSEA.tif
make: *** [KSEA.tif] Segmentation fault: 11


(gdb) set args  -g KSEA.orig.geo.hp KSEA.enh.tif KSEA.tif
(gdb) run
Starting program: /opt/local/bin/geotifcp -g KSEA.orig.geo.hp KSEA.enh.tif KSEA.tif
Reading symbols for shared libraries ++++++............................. done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000018
0x00007fff937799e7 in memmove$VARIANT$sse42 ()

Have proposed fix here:

diff geotifcp.c.orig geotifcp.c
462c462
< 	{ TIFFTAG_WHITEPOINT,		2, TIFF_RATIONAL },
---
> 	{ TIFFTAG_WHITEPOINT,		(uint16) -1, TIFF_RATIONAL },
512,514d511
< 			} else if (p->count == 2) {
< 				float floatv1, floatv2;
< 				CopyField2(p->tag, floatv1, floatv2);
528a526

Change History (6)

comment:1 Changed 8 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Keywords: haspatch added
Owner: changed from macports-tickets@… to stromnov@…
Port: libgeotiff added
Priority: HighNormal
Summary: geotifcp and EXC_BAD_ACCESSlibgeotiff: geotifcp and EXC_BAD_ACCESS

Did this patch come from the developers of libgeotiff, or if not, have you already informed them about it and have they agreed that this is the correct fix? Is there an upstream bug report about this problem?

comment:2 Changed 8 years ago by heikki.julkunen@…

Patch is after debugging crash. I tried emailing stromnov directly last week but never heard anything back, so no previous bug report.

comment:3 in reply to:  2 Changed 8 years ago by stromnov (Andrew Stromnov)

Replying to heikki.julkunen@…:

Patch is after debugging crash. I tried emailing stromnov directly last week but never heard anything back, so no previous bug report.

I apologize for the delay. I was very busy last week.

Your patch looks very strange: current geotifcp.c contains

 { TIFFTAG_WHITEPOINT, 1, TIFF_RATIONAL }

, but not

 { TIFFTAG_WHITEPOINT, 2, TIFF_RATIONAL },

and TIFF_RATIONAL case section doesn't contains if (p->count == 2) expression.

comment:4 Changed 8 years ago by heikki.julkunen@…

My bad on the source&diff - instead of using the darwin ports version seems like I picked up the ubuntu source from here: http://archive.ubuntu.com/ubuntu/pool/universe/libg/libgeotiff-dfsg/libgeotiff-dfsg_1.2.4.orig.tar.gz

Sorry for the confusion.

diff geotifcp.c.orig geotifcp.c 462c462 < { TIFFTAG_WHITEPOINT, 1, TIFF_RATIONAL }, ---

{ TIFFTAG_WHITEPOINT, (uint16) -1, TIFF_RATIONAL },

comment:5 Changed 8 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:6 Changed 4 years ago by kurthindenburg (Kurt Hindenburg)

Cc: khindenburg@… added
Resolution: fixed
Status: newclosed

I believe this was fixed a while ago.

Note: See TracTickets for help on using tickets.