Free the avp if we return without adding it in the packet
authornbk <nbk>
Wed, 13 Apr 2005 18:16:25 +0000 (18:16 +0000)
committernbk <nbk>
Wed, 13 Apr 2005 18:16:25 +0000 (18:16 +0000)
src/modules/rlm_attr_rewrite/rlm_attr_rewrite.c

index f51a4a7..466d1fc 100644 (file)
@@ -211,13 +211,17 @@ static int do_attr_rewrite(void *instance, REQUEST *request)
                                pairadd(&request->reply->vps,attr_vp);
                                break;
                        case RLM_REGEX_INPROXY:
-                               if (!request->proxy)
+                               if (!request->proxy) {
+                                       pairbasicfree(attr_vp);
                                        return RLM_MODULE_NOOP;
+                               }
                                pairadd(&request->proxy->vps, attr_vp);
                                break;
                        case RLM_REGEX_INPROXYREPLY:
-                               if (!request->proxy_reply)
+                               if (!request->proxy_reply) {
+                                       pairbasicfree(attr_vp);
                                        return RLM_MODULE_NOOP;
+                               }
                                pairadd(&request->proxy_reply->vps, attr_vp);
                                break;
                        default: