Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Apr 2004 12:16:16 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        freebsd-stable@freebsd.org
Cc:        Ruslan Ermilov <ru@FreeBSD.org>
Subject:   Re: ng_bridge(4) has an easily exploitable memory leak
Message-ID:  <Pine.BSF.4.21.0404081209290.63085-100000@InterJet.elischer.org>
In-Reply-To: <20040408190121.407A516A4D3@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Ruslan,
B
IGNORE THE PREVIOUS EMAIL

I was looking at how the macro expanded in -current, not in -stable..


[...]
> 
> 
> I leave it up to you to decide which you prefer, (but remember that
> NG_SEND_DATA is a macro and expads somewhat.
> 
> specifically, to (sorry about linewrap):
> #define NG_SEND_DATA(error, hook, m, meta)    \
>         do {\
>                 item_p _item;                 \
>                 if ((_item = ng_package_data((m), (meta)))) {\
>                         NG_FWD_ITEM_HOOK(error, _item, hook);    \
>                 } else { \
>                         (error) = ENOMEM;     \   
>                 }\   
>                 (m) = NULL;   \
>                 (meta) = NULL;      \
>         } while (0)
> 
> where NG_FWD_ITEM_HOOK
> itself expands to:
> #define NG_FWD_ITEM_HOOK(error, item, hook)   \
>         do { \
>                 (error) = \
>                     ng_address_hook(NULL, (item), (hook), 0);   \
>                 if (error == 0) { \
> 			SAVE_LINE(item);      \
>                         (error) = ng_snd_item((item), 0);   \ 
>                 } \
>                 (item) = NULL;         \ 
>         } while (0)
>  
> so only having one of those saves a bit of code.
> 

Maybe I should listen to myself and fix -current to follow my own
advice!




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0404081209290.63085-100000>