On Mon, 2013-11-25 at 19:04 +0800, zhuyj wrote: > On 11/25/2013 02:34 AM, Magnus Fromreide wrote: > > On Fri, 2013-11-22 at 14:27 +0800, zhuyj wrote: > > > > > > 4.patch -p1 < V5-7-patches-snmpTargetParam_support_zero_OID.patch > > snmpTargetAddrEntry.c: > > Chunk #2 is unnecessary - setting members to 0 before freeing the > > object they are members of. > > > > snmpTargetAddrEntry.h: > > Putting the variable in the hole after nameLen will leave the size of > > targetAddrTable_struct unchanged while the suggested location will > > expand the size of it by 4 (or 8 on 64-bit) bytes. > > > > snmpTargetParamsEntry.c: > > Chunk #2 is unnecessary - setting a member to 0 before freeing the > > object it is a member of. > > Chunk #9? (get_paramEntry) - it would be more efficient and correct > > to check that nameLen == ptr->paramNameLen before memcmp'ing > > name and paramName, in particular if nameLen < paramNameLen. > > > > target.c: > > Certificate lookup under DTLS uses only the part of the name up to the > > first '\0'. > Hi, MF > > I agree with other advices from you. But I do not understand this: > target.c: > Certificate lookup under DTLS uses only the part of the name up to the > first '\0'. > > Would you like to explain this in details? Thanks a lot.
Sure. target/target.c:205 cert = netsnmp_cert_find(NS_CERT_IDENTITY, NS_CERTKEY_TARGET_PARAM, targaddrs->params); Now, assume that targaddrs->params contains embedded NUL characters. > > > > patch -p1 < V5-7-patches-fix-param-length.patch > > > patch -p1 < V5-7-patches-conf-support.patch > > Why the memset's before read_config_save_octet_string? > An example is as below. > > If variable tmp is used as the line1, there are 6 'x' in this variable > tmp. > we will copy 4 'y' to tmp, now the variable tmp is as below line2 if > we do not > memset tmp. It is not what we expect. > > line1: tmp: xxxxxx > line2: using: yyyyxx You can't use NUL as a end of string marker since NUL is a perfectly valid character. When handing strings to printf you get around that with printf("%.*s", tmp, 4); For other methods one usually have to add a method that takes a string width. /MF ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/net-snmp-coders