}
if (fseek(infp, mimeinfo->offset, SEEK_SET) < 0) {
perror("fseek");
+ procmime_fclose(infp);
return FALSE;
}
procmime_fclose(infp);
return FALSE;
}
+#ifdef HAVE_FGETS_UNLOCKED
+ flockfile(outfp);
+#endif
tmp_file = TRUE;
readend = mimeinfo->offset + mimeinfo->length;
}
if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) {
FILE_OP_ERROR(mimeinfo->data.filename, "fseek");
+ procmime_fclose(fp);
return;
}
procheader_get_header_fields(fp, hentry);
FILE_OP_ERROR(mimeinfo->data.filename, "fopen");
return;
}
- fseek(fp, mimeinfo->offset, SEEK_SET);
+ if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) {
+ FILE_OP_ERROR(mimeinfo->data.filename, "fseek");
+ procmime_fclose(fp);
+ return;
+ }
if (original_msgid && disposition_notification_hdr) {
hentry[0].body = g_strdup(original_msgid);
if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0) {
FILE_OP_ERROR(mimeinfo->data.filename, "fseek");
+ procmime_fclose(fp);
return;
}
}
if (fseek(infp, mimeinfo->offset, SEEK_SET) < 0) {
FILE_OP_ERROR(mimeinfo->data.filename, "fseek");
+ procmime_fclose(infp);
return -1;
}
while (SC_FGETS(buf, sizeof(buf), infp) == buf) {
}
if (fseek(infp, mimeinfo->offset, SEEK_SET) < 0) {
FILE_OP_ERROR(mimeinfo->data.filename, "fseek");
+ procmime_fclose(infp);
return -1;
}
while (SC_FGETS(buf, sizeof(buf), infp) == buf) {