Snort mailing list archives
Re: does alertAdd() free pointer after logging?
From: Matthias Wübbeling <matthias.wuebbeling () cs uni-bonn de>
Date: Tue, 03 Mar 2015 19:52:51 +0100
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, This means it is not possible to provide dynamic and case specific information with an alert. Do you know another way to add further information (application protocol specific)? Imagine a dynamic-preprocessor that follows a tcp stream. It should provide packet contents into the alert (e.g. a specific user name or command). Is it possible to get information about the alert queue from within a preprocessor? Are there callback capabilities or similar? Maybe we can keep the string on the heap until it has been written to file and free it afterwards? Kind regards - - Matthias On 03.03.2015 18:50, Ed Borgoyn (eborgoyn) wrote:
Hi kawsar, I looked at the implementation of the alertAdd() API and for performance, it directly uses the pointer passed as the msg argument when it internally queues the alert. So you can’t free() the string after the call. In fact the string should be static since the alertAdd() only queues the message for later processing. I hope this helps. Ed Borgoyn Cisco Snort Development Team From: Mohiuddin Ebna Kawsar <mohiuddin.kawsar () gmail com<mailto:mohiuddin.kawsar () gmail com>> Date: Monday, March 2, 2015 at 11:45 AM To: "snort-devel () lists sourceforge net<mailto:snort-devel () lists sourceforge net>" <snort-devel () lists sourceforge net<mailto:snort-devel () lists sourceforge net>>
Cc: "matthias.wuebbeling () cs uni-bonn de<mailto:matthias.wuebbeling () cs uni-bonn de>" <matthias.wuebbeling () cs uni-bonn de<mailto:matthias.wuebbeling () cs uni-bonn de>>
Subject: [Snort-devel] does alertAdd() free pointer after logging? Hi, I was logging msg from my dynamic_preprocessor by ########################################################## int a ,b; a = getSize(); b= getSize(); static char* msg = 0; msg = calloc(strlen(TEST_EVENT_DETECT_STR) + (2 * 10) + 1, sizeof(char*)); snprintf(msg,strlen(TEST_EVENT_DETECT_STR) + (2 * 10), TEST_EVENT_DETECT_STR, a, b); _dpd.alertAdd(GENERATOR_SPP_TEST, TEST_EVENT_DETECT, TEST_EVENT_DETECT_REV, 0, 1, msg, 0 ); ############################################################## my question is should i free msg, or _dpd.alertAdd() have own implementation to free it? because while i free msg i don't see any msg in my log file. Regards kawsar
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJU9gMDAAoJENfZCsROOOe2UK4H/iuh5AozSewiVexfdKqZKiJx 02MALENW/NDIV1WlVGMLZJUTs4SUHEVXIbHhHz+w3VNjVxja6Astah9VAzIlQhTU oBxQVY5JjRC0ECvVQv6/6ZSR+kHZm9LQMzytMCue0g3HqPFKLjDPmkI6sQDmufQj LD7xCVdXA60bJjA2/naShg+PwkJ1wseGvSgp1UWy8LEkJ1Q4M+07pBD9qxfC0Rg1 SCwRuijOwi6prk1XAPGC+lzTKD1mYCOL0kKwJHW9RHPG97j23PJHKc5OMVTuw2ae KZ4KYB55W0UcMwifbNKKJe07t68XLv+ZGvi1a7l/mmB3OikToAXqg622aKCO2/U= =JYFZ -----END PGP SIGNATURE----- ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Snort-devel mailing list Snort-devel () lists sourceforge net https://lists.sourceforge.net/lists/listinfo/snort-devel Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel Please visit http://blog.snort.org for the latest news about Snort!
Current thread:
- does alertAdd() free pointer after logging? Mohiuddin Ebna Kawsar (Mar 02)
- Re: does alertAdd() free pointer after logging? Ed Borgoyn (eborgoyn) (Mar 03)
- Re: does alertAdd() free pointer after logging? Matthias Wübbeling (Mar 03)
- Re: does alertAdd() free pointer after logging? Steve Sturges (ststurge) (Mar 03)
- Re: does alertAdd() free pointer after logging? Matthias Wübbeling (Mar 03)
- Re: does alertAdd() free pointer after logging? Ed Borgoyn (eborgoyn) (Mar 03)