samba_3_0 still segfaults upon trying to refresh view of prin ters: gdb bt

Esh, Andrew Andrew_Esh at adaptec.com
Thu Apr 10 20:20:35 GMT 2003


Yes, it was applied to HEAD. The patch I showed would make
printing/printing.c in SAMBA_3_0 identical to the one in HEAD.

-----Original Message-----
From: Steve Langasek [mailto:vorlon at netexpress.net]
Sent: Thursday, April 10, 2003 2:32 PM
To: Esh, Andrew
Cc: 'brad at langhorst.com'; 'Alex Deiter'; samba-technical at lists.samba.org
Subject: Re: samba_3_0 still segfaults upon trying to refresh view of
prin ters: gdb bt


On Thu, Apr 10, 2003 at 12:22:26PM -0700, Esh, Andrew wrote:
> I should have paid more attention to how I read the cvs logs. I looked at
> version 1.139 of printing/printing.c, instead of version 1.139.2.32, which
> is at the HEAD of the SAMBA_3_0 branch. Version 1.139 doesn't have
> "store_queue_struct", which caused me to interpret Alex's report as "I am
> using HEAD code", since he said "today cvs". Mea Culpa.

> Once I looked at the right code, I immediately saw what the problem is.
> Since I don't have a printer hooked up to Samba, I can't test this, but
it's
> pretty obvious:

Somehow, I was under the impression this patch had also been applied to
SAMBA_3_0.  If it has not been, it definitely should be -- I derived this
patch myself, and have applied it to the Debian packages, and the
segfaults go away.

I know I saw this change in at least one branch, so it must've been HEAD.

-- 
Steve Langasek
postmodern programmer

> Index: printing.c
> ===================================================================
> RCS file: /cvsroot/samba/source/printing/printing.c,v
> retrieving revision 1.139.2.32
> diff -u -c -r1.139.2.32 printing.c
> cvs server: conflicting specifications of output style
> *** printing.c	4 Apr 2003 01:02:20 -0000	1.139.2.32
> --- printing.c	10 Apr 2003 19:20:28 -0000
> ***************
> *** 855,861 ****
>   
>   	/* Work out the size. */
>   	data.dsize = 0;
> ! 	data.dsize += tdb_pack(NULL, 0, NULL, "d", qcount);
>   
>   	for (i = 0; i < pts->qcount; i++) {
>   		data.dsize += tdb_pack(NULL, 0, "ddddddff",
> --- 855,861 ----
>   
>   	/* Work out the size. */
>   	data.dsize = 0;
> ! 	data.dsize += tdb_pack(NULL, 0, "d", qcount);
>   
>   	for (i = 0; i < pts->qcount; i++) {
>   		data.dsize += tdb_pack(NULL, 0, "ddddddff",


More information about the samba-technical mailing list