public inbox for glibc-bugs-regex@sourceware.org
help / color / mirror / Atom feed
* [Bug regex/1357] New: memory leak in re_compile_pattern()
@ 2005-09-19 21:24 root at liwave dot com
  2005-10-14  5:49 ` [Bug regex/1357] " drepper at redhat dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: root at liwave dot com @ 2005-09-19 21:24 UTC (permalink / raw)
  To: glibc-bugs-regex

Calling re_compile_pattern results in a memory leak proportional to the size of 
the Pattern String. See Example code below:
#include <regex.h>
#include <stdio.h>

int main()
{
	struct re_pattern_buffer	*patBuf;
	const char			*ErrStr;
	char				 PatStr[128];
	unsigned int			 i;
	


	patBuf = (struct re_pattern_buffer *) malloc(sizeof(struct 
re_pattern_buffer));
	if (!patBuf)
		exit(0);
	memset(patBuf, 0, sizeof(struct re_pattern_buffer));

	patBuf->translate      = 0;
	patBuf->fastmap	       = 0;
	patBuf->buffer	       = (char *) malloc(2048); //Optional
	patBuf->allocated      = 2048;
	patBuf->regs_allocated = REGS_UNALLOCATED; /Optional
	patBuf->used           = 0;

        re_set_syntax (RE_SYNTAX_POSIX_EGREP); //Optional
	for (i = 0; i < 10000; i++) {
		sprintf(PatStr, "TEST.?STRING%d", i); //This can be anything
                memset(patBuf->buffer, 0, 2048);
		ErrStr = re_compile_pattern(PatStr,
			                    strlen(PatStr),
					    patBuf);
		if (ErrStr)
		    printf("ErrStr = %s\n",ErrStr);
		} //endof for (i = 0; i < 10000; i++)
	if (patBuf->buffer)
		free(patBuf->buffer);
	if (patBuf)
		free(patBuf);
	
	exit(1);
	} //endof main()

Leak was introduced after glibc-2.2.2. This code works fine on a linux 2.4 
system running with glibc-2.2.2, leak occures in glibc 2.3.5 and 2.3.1 
glibc 2.3.5 was compiled with:
CFLAGS="-O3 -march=i686 -mcpu=i686 -funroll-loops -fomit-frame-pointer -
fexpensive-optimizations -pipe"

-- 
           Summary: memory leak in re_compile_pattern()
           Product: glibc
           Version: 2.3.5
            Status: NEW
          Severity: normal
          Priority: P2
         Component: regex
        AssignedTo: gotom at debian dot or dot jp
        ReportedBy: root at liwave dot com
                CC: glibc-bugs-regex at sources dot redhat dot com,glibc-
                    bugs at sources dot redhat dot com
  GCC host triplet: Linux gentoo 2.6.7-hardened-r18 #2 SMP Sun Jan 16
                    18:37:38 EST 2


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

------- 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] 4+ messages in thread

* [Bug regex/1357] memory leak in re_compile_pattern()
  2005-09-19 21:24 [Bug regex/1357] New: memory leak in re_compile_pattern() root at liwave dot com
@ 2005-10-14  5:49 ` drepper at redhat dot com
  2005-12-30 20:52 ` drepper at redhat dot com
  2006-05-02 21:56 ` drepper at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: drepper at redhat dot com @ 2005-10-14  5:49 UTC (permalink / raw)
  To: glibc-bugs-regex


------- Additional Comments From drepper at redhat dot com  2005-10-14 05:49 -------
Yes, that interface doesn't work as before.  And it might remain broken.  It was
tied to the old implementation.

There might be a chance that the behavior is restored but I wouldn't hold my
breath.  Better rewrite your code to use the POSIX interfaces.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|gotom at debian dot or dot  |drepper at redhat dot com
                   |jp                          |
             Status|NEW                         |ASSIGNED


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

------- 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] 4+ messages in thread

* [Bug regex/1357] memory leak in re_compile_pattern()
  2005-09-19 21:24 [Bug regex/1357] New: memory leak in re_compile_pattern() root at liwave dot com
  2005-10-14  5:49 ` [Bug regex/1357] " drepper at redhat dot com
@ 2005-12-30 20:52 ` drepper at redhat dot com
  2006-05-02 21:56 ` drepper at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: drepper at redhat dot com @ 2005-12-30 20:52 UTC (permalink / raw)
  To: glibc-bugs-regex



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   GCC host triplet|Linux gentoo 2.6.7-hardened-|Linux
                   |r18 #2 SMP Sun Jan 16       |
                   |18:37:38 EST 2              |


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

------- 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] 4+ messages in thread

* [Bug regex/1357] memory leak in re_compile_pattern()
  2005-09-19 21:24 [Bug regex/1357] New: memory leak in re_compile_pattern() root at liwave dot com
  2005-10-14  5:49 ` [Bug regex/1357] " drepper at redhat dot com
  2005-12-30 20:52 ` drepper at redhat dot com
@ 2006-05-02 21:56 ` drepper at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: drepper at redhat dot com @ 2006-05-02 21:56 UTC (permalink / raw)
  To: glibc-bugs-regex


------- Additional Comments From drepper at redhat dot com  2006-05-02 21:56 -------
I meant to suspend this bug.  Nobody I know is going to work on this.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |SUSPENDED


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

------- 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] 4+ messages in thread

end of thread, other threads:[~2006-05-02 21:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-19 21:24 [Bug regex/1357] New: memory leak in re_compile_pattern() root at liwave dot com
2005-10-14  5:49 ` [Bug regex/1357] " drepper at redhat dot com
2005-12-30 20:52 ` drepper at redhat dot com
2006-05-02 21:56 ` drepper at redhat dot com

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).