<div class="zcontentRow" style="font-size:14px;font-family:宋体,SimSun;"> <p><br></p><p><br></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>On 09/26/2017 03:54 PM, ZhiPeng Lu wrote:</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> In learnIPAddressThread()the @inetaddr may be leaked.</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> </span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn></span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> ---</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>  src/nwfilter/nwfilter_learnipaddr.c | 4 +++-</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>  1 file changed, 3 insertions(+), 1 deletion(-)</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> </span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_learnipaddr.c</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> index cfd92d9..5dc212e 100644</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> --- a/src/nwfilter/nwfilter_learnipaddr.c</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> +++ b/src/nwfilter/nwfilter_learnipaddr.c</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">> @@ -625,6 +625,7 @@ learnIPAddressThread(void *arg)</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>              if (virNWFilterIPAddrMapAddIPAddr(req->ifname, inetaddr) < 0) {</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>                  VIR_ERROR(_("Failed to add IP address %s to IP address "</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>                            "cache for interface %s"), inetaddr, req->ifname);</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> +                VIR_FREE(inetaddr);</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>              }</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>  </span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>              ret = virNWFilterInstantiateFilterLate(req->driver,</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> @@ -636,7 +637,8 @@ learnIPAddressThread(void *arg)</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>                                                     req->filtername,</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>                                                     req->filterparams);</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>>              VIR_DEBUG("Result from applying firewall rules on "</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> -                      "%s with IP addr %s : %d", req->ifname, inetaddr, ret);</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>> +                      "%s with IP addr %s : %d", req->ifname, NULLSTR(inetaddr), ret);> +</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>Still not quite right... VIR_FREE() only happens if</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>virNWFilterIPAddrMapAddIPAddr() < 0.</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>Not sure what the purpose of a VIR_FREE in the upper condition and then</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>NULLSTR() below would be...  We're still calling</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>virNWFilterInstantiateFilterLate regardless and still want the VIR_DEBUG</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>printed.</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>Perhaps just a VIR_FREE() after the VIR_DEBUG would seem to be</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>sufficient since there's no escape clause.  The VIR_ERROR may help us</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>understand why/if ret != 0 though... I didn't put much thought into that</span><br style="box-sizing: border-box; font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; white-space: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">>though.</span></p><p><br></p><p><span style="background-color: rgb(255, 255, 255);">we can't free </span><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">inetaddr if  </span></span><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">virNWFilterIPAddrMapAddIPAddr() ==0 because it is used by ipAddressMap.</span></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">So i  free <span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">inetaddr  only if <span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">virNWFilterIPAddrMapAddIPAddr < 0.</span></span></span></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><br></span></span></span></p><p>I will add a variable to save the return value  of <span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">virNWFilterIPAddrMapAddIPAddr.</span></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">   Free  </span><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">inetaddr if virNWFilterIPAddrMapAddIPAddr< 0</span><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">    after </span><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);">VIR_ERROR print.</span><br></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><br></span></p><p><span style="font-family: Arial, 宋体, 'Microsoft Yahei', 'Lucida Grande', Verdana, Lucida, Helvetica, sans-serif; line-height: 20px; background-color: rgb(255, 255, 255);"><br></span></p><p><br></p><p><br></p><p><br></p><div class="zMailSign"><div><div><div><div><div><div><div><div><p style="font-family: 宋体; font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑;font-size:14px;"><span class="signedit"><span style="box-sizing: border-box; font-weight: 700; color: rgb(255, 192, 0); font-family: 宋体; line-height: normal; outline: 0px !important; background-color: rgb(255, 255, 255);"><span style="box-sizing: border-box; outline: 0px !important; font-family: 微软雅黑; font-size: 18px;"><span style="box-sizing: border-box; font-family: 微软雅黑, 'Microsoft YaHei'; font-size: 20px; line-height: 36px; outline: 0px !important;">为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: </span><span style="box-sizing: border-box; font-family: 微软雅黑, 'Microsoft YaHei'; font-size: 20px; line-height: 17.1420001983643px; outline: none !important;">$VPlat技术支持。</span></span></span></span></span></p><p style="font-family: 宋体; font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑"><span class="signedit" id="sign_name">芦志朋</span> <span style="font-family:Arial"><span class="signedit" id="sign_name_eng">luzhipeng</span></span></span></p><p style="font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑;font-size:14px;"><span style=""><span class="signedit"><br></span></span></span></p><p style="font-family: 宋体; font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑"><span class="signedit" id="sign_position">IT开发工程师</span> <span style="font-family:Arial"><span class="signedit" id="sign_position_eng">IT Development
Engineer</span></span></span><br><span style="font-size:14px;color:#58595B;font-family:微软雅黑"><span class="signedit" id="sign_dept">操作系统产品部/中心研究院/系统产品</span> <span style="font-family:Arial"> <span class="signedit" id="sign_dept_eng">OS Product Dept./Central R&D Institute/System Product</span></span></span></p><p style="font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑;font-size:14px;"><span style=""><span class="signedit"><br></span></span></span></p><p style="font-size:14px; line-height: normal; widows: 1;"><span style="font-size:14px;color:#58595B;font-family:微软雅黑;font-size:14px;"></span></p><table style="color: rgb(0, 0, 0); font-family: 宋体; widows: 1;"><tbody><tr class="firstRow"><td valign="top" width="100"><img id="sign-icon" src="cid:9ae3e214c17d49ed935d87c674ba3ee2" width="130" height="120"></td><td valign="top" width="500" style="word-break: break-all;"><img id="sign-logo" src="cid:24242e5637af428891c4db731e7765ad" width="115" height="38"><br><span style="color: rgb(88, 89, 91); font-family: 微软雅黑;">四川省成都市天府大道中段800号<br><span style="font-size: 10px; font-family: Arial;"><span style="color:#008FD4">E</span>: <span class="signedit" id="sign_email"><a href="mailto:lu.zhipeng@zte.com.cn">lu.zhipeng@zte.com.cn</a></span> <br><span style="color:#008FD4"><a href="http://www.zte.com.cn/" target="_blank">www.zte.com.cn</a></span></span></span></td></tr></tbody></table><span style="line-height: normal; widows: 1; font-size:14px;;color:#58595b;font-size:10px"></span></div></div></div></div></div></div></div></div></div><div><div class="zhistoryRow" style="display:block"><div class="zhistoryDes" style="width: 100%; height: 28px; line-height: 28px; background-color: #E0E5E9; color: #1388FF; text-align: center;" language-data="HistoryOrgTxt">原始邮件</div><div id="zwriteHistoryContainer"><div class="control-group zhistoryPanel"><div class="zhistoryHeader" style="padding: 8px; background-color: #F5F6F8;"><div><strong language-data="HistorySenderTxt">发件人:</strong><span class="zreadUserName"> <jferlan@redhat.com>;</span></div><div><strong language-data="HistoryTOTxt">收件人:</strong><span class="zreadUserName" style="display: inline;">芦志朋10108272;</span><span class="zreadUserName" style="display: inline;"> <libvir-list@redhat.com>;</span></div><div><strong language-data="HistoryDateTxt">日 期 :</strong><span class="">2017年09月27日 07:46</span></div><div><strong language-data="HistorySubjectTxt">主 题 :</strong><span class="zreadTitle"><strong>Re: [libvirt] [PATCH v2] nwfilter: Don't leak @inetaddr</strong></span></div></div><p class="zhistoryContent"><br></p><div><br><br>On 09/26/2017 03:54 PM, ZhiPeng Lu wrote:<br>> In learnIPAddressThread()the @inetaddr may be leaked.<br>> <br>> Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn><br>> ---<br>>  src/nwfilter/nwfilter_learnipaddr.c | 4 +++-<br>>  1 file changed, 3 insertions(+), 1 deletion(-)<br>> <br>> diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_learnipaddr.c<br>> index cfd92d9..5dc212e 100644<br>> --- a/src/nwfilter/nwfilter_learnipaddr.c<br>> +++ b/src/nwfilter/nwfilter_learnipaddr.c<br>> @@ -625,6 +625,7 @@ learnIPAddressThread(void *arg)<br>>              if (virNWFilterIPAddrMapAddIPAddr(req->ifname, inetaddr) < 0) {<br>>                  VIR_ERROR(_("Failed to add IP address %s to IP address "<br>>                            "cache for interface %s"), inetaddr, req->ifname);<br>> +                VIR_FREE(inetaddr);<br>>              }<br>>  <br>>              ret = virNWFilterInstantiateFilterLate(req->driver,<br>> @@ -636,7 +637,8 @@ learnIPAddressThread(void *arg)<br>>                                                     req->filtername,<br>>                                                     req->filterparams);<br>>              VIR_DEBUG("Result from applying firewall rules on "<br>> -                      "%s with IP addr %s : %d", req->ifname, inetaddr, ret);<br>> +                      "%s with IP addr %s : %d", req->ifname, NULLSTR(inetaddr), ret);> +<br><br>Still not quite right... VIR_FREE() only happens if<br>virNWFilterIPAddrMapAddIPAddr() < 0.<br><br>Not sure what the purpose of a VIR_FREE in the upper condition and then<br>NULLSTR() below would be...  We're still calling<br>virNWFilterInstantiateFilterLate regardless and still want the VIR_DEBUG<br>printed.<br><br>Perhaps just a VIR_FREE() after the VIR_DEBUG would seem to be<br>sufficient since there's no escape clause.  The VIR_ERROR may help us<br>understand why/if ret != 0 though... I didn't put much thought into that<br>though.<br><br>John<br><br>>          }<br>>      } else {<br>>          if (showError)<br>> </div><p><br></p></div></div></div></div><p><br></p> </div>