And now... the patch. :)

Cheers,
-- 
Steve Langasek
postmodern programmer

On Tue, Apr 19, 2005 at 10:33:44PM -0700, Steve Langasek wrote:
> And valgrind reveals all in the end.  Attached is a patch which fixes up a
> rounding error in the use of malloc_array(); this is probably a bit wasteful
> compared to the original code, but at least it never allocates too little and
> gives us malloc corruption.
> 
> I'll get this over to the security team asap; in the meantime, the patch is
> here for people who can't wait for the official builds.
> 
> Cheers,
> -- 
> Steve Langasek
> postmodern programmer
> 
> On Fri, Apr 08, 2005 at 09:48:53AM +0200, Rasmus Bøg Hansen wrote:
> > Andrew Bartlett <[EMAIL PROTECTED]> hit the keyboard.
> > Afterwards the following was on the screen:
> > 
> > > On Fri, 2005-04-08 at 01:08 +0200, Rasmus Bøg Hansen wrote:
> > >> Hi again
> > >> 
> > >> Valgrind is not in woody, so I installed it from backports, and made
> > >> the following trace:
> > >> 
> > >> valgrind -v -- smbd -i > /tmp/valgrind.log 2>&1
> > >> 
> > >> Output is here:
> > >> 
> > >> http://www.amagerkollegiet.dk/~moffe/valgrind.log
> > >
> > > Sorry, that doesn't help.  We will probably need --num-callers=32, and
> > > we need to show it crashing, not just running and exiting once (which is
> > > what -i does).
> > >
> > > Internally, Samba has been modified to assist in this, so if you run
> > > with the valgrind --trace-children option, but not smbd's -i, the
> > > valgrind errors will end up in the normal Samba logfiles (we redirect
> > > stderr).
> > 
> > Ok, I now did:
> > 
> > valgrind -v --num-callers=32 --trace-children=yes --log-file=valgrind.log 
> > -- smbd
> > 
> > I do not really understand (perhaps due to my limited knowledge of
> > valgrind) why smbd crashes when run normally; when run through
> > valgrind it seems to run without crashing.
> > 
> > Nonetheless, the valgrind logfile is here:
> > 
> > http://www.amagerkollegiet.dk/~moffe/valgrind.log.pid2456


diff -u samba-2.2.3a/debian/changelog samba-2.2.3a/debian/changelog
--- samba-2.2.3a/debian/changelog
+++ samba-2.2.3a/debian/changelog
@@ -1,3 +1,12 @@
+samba (2.2.3a-15) stable-security; urgency=low
+
+  * Acknowledge the Security Team's NMUs; thanks again for all your
+    work, Joey.
+  * Fix a rounding error introduced in the patch to bitmap_alloc() that
+    causes crashes on reload.  Closes: #302378.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Tue, 19 Apr 2005 18:14:36 -0700
+
 samba (2.2.3a-14.2) stable-security; urgency=high
 
   * Non-maintainer upload by the Security Team
diff -u samba-2.2.3a/debian/rules samba-2.2.3a/debian/rules
--- samba-2.2.3a/debian/rules
+++ samba-2.2.3a/debian/rules
@@ -4,7 +4,7 @@
 #      solve build problems) introduced in Samba 2.2.1a-5. These
 #      modification were made by Steve Langasek <[EMAIL PROTECTED]>.
 #
-# $Id: rules,v 1.2.2.2.2.27 2002/10/12 16:53:59 vorlon Exp $
+# $Id: rules,v 1.2.2.2.2.29 2005/04/20 01:11:50 vorlon Exp $
 #
 
 # Uncomment this to turn on verbose mode. 
diff -u samba-2.2.3a/debian/patches/z_CAN-2004-1154.patch 
samba-2.2.3a/debian/patches/z_CAN-2004-1154.patch
--- samba-2.2.3a/debian/patches/z_CAN-2004-1154.patch
+++ samba-2.2.3a/debian/patches/z_CAN-2004-1154.patch
@@ -355,7 +355,7 @@
        
        bm->n = n;
 -      bm->b = (uint32 *)malloc(sizeof(bm->b[0])*(n+31)/32);
-+      bm->b = (uint32 *)malloc_array(sizeof(bm->b[0]), (n+31)/32);
++      bm->b = (uint32 *)malloc_array(sizeof(bm->b[0]), (n+31)/32+1);
        if (!bm->b) {
                SAFE_FREE(bm);
                return NULL;

Attachment: signature.asc
Description: Digital signature

Reply via email to