[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#480433: marked as done (libc6.1: mkdtemp on ia64 can return xa non null pointer not pointing at the template)



Your message dated Sat, 10 May 2008 10:51:13 +0100
with message-id <f85565510805100251s1c422221wbe5e061711a80ef6@mail.gmail.com>
and subject line Close non-bug
has caused the Debian Bug report #480433,
regarding libc6.1: mkdtemp on ia64 can return xa non null pointer not pointing at the template
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
480433: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480433
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6.1
Version: 2.7-10
Severity: normal

Affects IA64 only

Code like...
static char buf[20];
strcpy(buf, "/tmp/some_XXXXXX");
char * tmpname=mkdtemp(buf);

can return tmpname which is non null and for which *tmpname seg faults
because it is not a valid address i.e. it does not point at the buf.
The template will have been modified correctly to point at a unique name.
So a workaround is to add

if (!tmpname) tmpname=buf;

Bug affects latest version of f2c-20061008-1 on IA64
(to reproduce run with no arguments, call is in the set_temp_names
function)

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: ia64

Kernel: Linux 2.6.18-dsa-mckinley (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6.1 depends on:
ii  libgcc1                       1:4.3.0-4  GCC support library

libc6.1 recommends no packages.

-- debconf information:
  glibc/upgrade: true
  glibc/restart-services:
  glibc/restart-failed:



--- End Message ---
--- Begin Message --- Thanks to information from Bastian Blank it is clear that this is a non-bug but was due to the sizeof(int)!=sizeof(char*) on a 64 bit platform when compiling with -ansi and -D_POSIX_SOURCE which doesn not include the header for mkdtemp.

Alan

--- End Message ---

Reply to: