]> granicus.if.org Git - php/commitdiff
- Fix the fix
authorFelipe Pena <felipe@php.net>
Tue, 22 Nov 2011 15:12:44 +0000 (15:12 +0000)
committerFelipe Pena <felipe@php.net>
Tue, 22 Nov 2011 15:12:44 +0000 (15:12 +0000)
ext/fileinfo/libmagic/apprentice.c

index ce76881c3a3c6e09919e16ac5047571efe2ea2bc..6844bf5d39c20a6e60f063b330e24e557a38acdc 100644 (file)
@@ -2070,11 +2070,11 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
        }
 
        mm = emalloc((size_t)st.sb.st_size);
+       ret = 1;
        if (php_stream_read(stream, mm, (size_t)st.sb.st_size) != (size_t)st.sb.st_size) {
                file_badread(ms);
                goto error1;
        }
-       ret = 1;
 
        php_stream_close(stream);
        stream = NULL;
@@ -2137,7 +2137,7 @@ error1:
                php_stream_close(stream);
        }
 
-       if (mm) {
+       if (mm && ret == 1) {
                efree(mm);
        } else {
                *magicp = NULL;