Open brong opened 13 years ago
From: Greg Banks
Found by Coverity. Some error paths in perl/sieve/lib/isieve.c:do_referral leak a newly allocated isieve_t object.
626
Event alloc_arg: Calling allocation function "init_net" on "obj_new". [details]
627 ret = init_net(host, port, &obj_new);
At conditional (1): "ret" taking false path
628 if(ret) return STAT_NO;
629
630 / Start up SASL /
Event noescape: Variable "obj_new" is not freed or pointed-to in function "init_sasl". [details]
631 ret = init_sasl(obj_new, 128, callbacks);
Event leaked_storage: Variable "obj_new" going out of scope leaks the storage it points to.
At conditional (2): "ret" taking true path
632 if(ret) return STAT_NO;
633
634 / Authenticate /
Event noescape: Variable "obj_new" is not freed or pointed-to in function "read_capability". [details]
635 mechlist = read_capability(obj_new);
636
637 do {
638 mtried = NULL;
Event noescape: Variable "obj_new" is not freed or pointed-to in function "auth_sasl". [details]
639 ret = auth_sasl(mechlist, obj_new, &mtried, &ssf, &errstr);
640 if (errstr) {
641 free(errstr);
642 errstr = NULL;
643 }
Event noescape: Variable "obj_new" is not freed or pointed-to in function "init_sasl". [details]
644 if(ret) init_sasl(obj_new, 128, callbacks);
645
From: Greg Banks Bugzilla-Id: 3548 Version: 2.4.x (next) Owner: Bron Gondwana