]> www.wagner.pp.ru Git - oss/catdoc.git/blobdiff - src/ole.c
Merge branch 'master' of http://wagner.pp.ru/git/oss/catdoc
[oss/catdoc.git] / src / ole.c
index e131a0dac2140921121edfeda7c65dc14fa3ffca..dbcda42d71335ca8ba4d08bb60c6a3f496e47156 100644 (file)
--- a/src/ole.c
+++ b/src/ole.c
@@ -74,6 +74,7 @@ FILE* ole_init(FILE *f, void *buffer, size_t bufSize)  {
                                ret=fwrite(buffer, 1, bufSize, newfile);
                                if(ret != bufSize) {
                                        perror("Can't write to tmp file");
+                                       fclose(newfile);
                                        return NULL;
                                }
                        }
@@ -499,8 +500,8 @@ size_t ole_read(void *ptr, size_t size, size_t nmemb, FILE *stream) {
                int readbytes;
                blockNumber++;
                newoffset = calcFileBlockOffset(e,blockNumber);
-               if (newoffset != e->file_offset);
-               fseek(e->file, e->file_offset=newoffset , SEEK_SET);
+               if (newoffset != e->file_offset)
+                       fseek(e->file, e->file_offset=newoffset , SEEK_SET);
                readbytes=fread(cptr+rread, 1, min(llen-rread, ssize), e->file);
                rread +=readbytes;
                e->file_offset +=readbytes;