public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/3944] New: strptime() segfaults on certain date formats
@ 2007-01-30 21:05 pandisv at yahoo dot co dot uk
  2007-02-09  1:45 ` [Bug libc/3944] " drepper at redhat dot com
  2007-07-12 14:51 ` cvs-commit at gcc dot gnu dot org
  0 siblings, 2 replies; 3+ messages in thread
From: pandisv at yahoo dot co dot uk @ 2007-01-30 21:05 UTC (permalink / raw)
  To: glibc-bugs

Hello,

this is a bug originally reported at https://bugs.launchpad.net/bugs/50563 . An
Ubuntu user reported the following:

"This segfaults on Ubuntu Dapper:

#define _XOPEN_SOURCE
#include <time.h>
int main() {
  struct tm tm;
  strptime("2004", "%Y", &tm); /* Segfault. */
  return 0;
}

This does not:

#define _XOPEN_SOURCE
#include <time.h>
int main() {
  struct tm tm;
  strptime("2004-01-01", "%Y-%m-%d", &tm); /* OK. */
  strptime("2004-01", "%Y-%m", &tm); /* OK. */
  return 0;
}

Internally, strptime() sets up a "struct tm" when parsing the date string. If
both the month and day-of-month are not present, two fields in that struct are
left uninitialized, and the segfault occurs when the uninitialized values are
used in an array lookup in time/strptime_l.c:day_of_the_week().

I have a patch for this, but cannot be sure that it works, because I don't have
enough disk space or CPU time for a glibc build."


Unfortunately, we haven't been able to contact the user for a patch. At any
rate, it would be nice if this were fixed. Thanks!

-- 
           Summary: strptime() segfaults on certain date formats
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper at redhat dot com
        ReportedBy: pandisv at yahoo dot co dot uk
                CC: glibc-bugs at sources dot redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=3944

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/3944] strptime() segfaults on certain date formats
  2007-01-30 21:05 [Bug libc/3944] New: strptime() segfaults on certain date formats pandisv at yahoo dot co dot uk
@ 2007-02-09  1:45 ` drepper at redhat dot com
  2007-07-12 14:51 ` cvs-commit at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: drepper at redhat dot com @ 2007-02-09  1:45 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From drepper at redhat dot com  2007-02-09 01:45 -------
Fixed in cvs.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://sourceware.org/bugzilla/show_bug.cgi?id=3944

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libc/3944] strptime() segfaults on certain date formats
  2007-01-30 21:05 [Bug libc/3944] New: strptime() segfaults on certain date formats pandisv at yahoo dot co dot uk
  2007-02-09  1:45 ` [Bug libc/3944] " drepper at redhat dot com
@ 2007-07-12 14:51 ` cvs-commit at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2007-07-12 14:51 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2007-07-12 14:50 -------
Subject: Bug 3944

CVSROOT:	/cvs/glibc
Module name:	libc
Branch: 	glibc-2_5-branch
Changes by:	jakub@sourceware.org	2007-07-12 14:50:42

Modified files:
	.              : ChangeLog 
	time           : Makefile strptime_l.c 
Added files:
	time           : tst-strptime3.c 

Log message:
	2007-02-08  Jakub Jelinek  <jakub@redhat.com>
	
	[BZ #3944]
	* time/strptime_l.c (__strptime_internal): Set have_mon for
	%b/%B/%h.  Set have_mon and have_mday if tm_mon and tm_mday
	have been computed from tm_yday and tm_year.  Don't crash
	in day_of_the_week or day_of_the_year if not have_mon
	and tm_mon contains bogus value.
	* time/Makefile (tests): Add tst-strptime3.
	* time/tst-strptime3.c: New test.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/ChangeLog.diff?cvsroot=glibc&only_with_tag=glibc-2_5-branch&r1=1.10362.2.40&r2=1.10362.2.41
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/time/tst-strptime3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_5-branch&r1=NONE&r2=1.1.6.1
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/time/Makefile.diff?cvsroot=glibc&only_with_tag=glibc-2_5-branch&r1=1.110&r2=1.110.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/time/strptime_l.c.diff?cvsroot=glibc&only_with_tag=glibc-2_5-branch&r1=1.7&r2=1.7.2.1



-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=3944

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-12 14:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-30 21:05 [Bug libc/3944] New: strptime() segfaults on certain date formats pandisv at yahoo dot co dot uk
2007-02-09  1:45 ` [Bug libc/3944] " drepper at redhat dot com
2007-07-12 14:51 ` cvs-commit at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).