Change 27828 by [EMAIL PROTECTED] on 2006/04/15 23:41:23

        Subject: [PATCH] Potential (?) memory leak in Storable.xs (Coverity)
        From: [EMAIL PROTECTED]
        Message-ID: <[EMAIL PROTECTED]>
        Date: Sat, 15 Apr 2006 13:54:10 -0400 (EDT)

Affected files ...

... //depot/perl/ext/Storable/Storable.xs#121 edit

Differences ...

==== //depot/perl/ext/Storable/Storable.xs#121 (text) ====
Index: perl/ext/Storable/Storable.xs
--- perl/ext/Storable/Storable.xs#120~27825~    2006-04-15 14:43:13.000000000 
-0700
+++ perl/ext/Storable/Storable.xs       2006-04-15 16:41:23.000000000 -0700
@@ -3989,8 +3989,11 @@
 
        TRACEME(("new class name \"%s\" will bear ID = %d", classname, 
cxt->classnum));
 
-       if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, len)))
+       if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, len))) {
+               if (classname != buf)
+                       Safefree(classname);
                return (SV *) 0;
+       }
 
        /*
         * Retrieve object and bless it.
@@ -4168,8 +4171,11 @@
                 * Record new classname.
                 */
 
-               if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, 
len)))
+               if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, 
len))) {
+                       if (classname != buf)
+                               Safefree(classname);
                        return (SV *) 0;
+               }
        }
 
        TRACEME(("class name: %s", classname));
End of Patch.

Reply via email to