]> granicus.if.org Git - php/commitdiff
Fixed memory leak.
authorIlia Alshanetsky <iliaa@php.net>
Wed, 15 Jun 2005 23:42:55 +0000 (23:42 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 15 Jun 2005 23:42:55 +0000 (23:42 +0000)
ext/date/lib/tm2unixtime.c

index a62dbb8a34e1b4ddc2ac8d519e0ac00471db5f2d..9a56e8b3f2f9533427d48f768fec213cb6bff808 100644 (file)
@@ -211,16 +211,21 @@ static timelib_sll do_adjust_timezone(timelib_time *tz, timelib_tzinfo *tzi)
                        /* No timezone in struct, fallback to reference if possible */
                        if (tzi) {
                                timelib_time_offset *before, *after;
+                               timelib_sll tmp;
                                
                                tz->is_localtime = 1;
                                before = timelib_get_time_zone_info(tz->sse, tzi);
                                after = timelib_get_time_zone_info(tz->sse - before->offset, tzi);
                                timelib_set_timezone(tz, tzi);
                                if (before->is_dst != after->is_dst) {
-                                       return -tz->z + (before->offset - after->offset);
+                                       tmp = -tz->z + (before->offset - after->offset);
                                } else {
-                                       return -tz->z;
+                                       tmp = -tz->z;
                                }
+                               timelib_time_offset_dtor(before);
+                               timelib_time_offset_dtor(after);
+                               
+                               return tmp;
                        }
        }
        return 0;