* fixed a bug in network_process_file() that was causing every message to be loaded...
authorArt Cancro <ajc@citadel.org>
Wed, 13 Jan 2010 00:08:13 +0000 (00:08 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 13 Jan 2010 00:08:13 +0000 (00:08 +0000)
citadel/modules/network/serv_network.c

index 69de440c831704521d42505b824f609a78a91e6d..d73e4b7e1e13f3e67b528240860aff15f05adffa 100644 (file)
@@ -1644,7 +1644,6 @@ void network_process_message(FILE *fp, long msgstart, long msgend) {
        long hold_pos;
        long size;
        char *buffer;
-       size_t siz;
 
        CtdlLogPrintf(CTDL_DEBUG, "network_process_message() processing bytes %ld through %ld\n", msgstart, msgend);
 
@@ -1653,8 +1652,9 @@ void network_process_message(FILE *fp, long msgstart, long msgend) {
        buffer = malloc(size);
        if (buffer != NULL) {
                fseek(fp, msgstart, SEEK_SET);
-               siz = fread(buffer, size, 1, fp);
-               network_process_buffer(buffer, siz);
+               if (fread(buffer, size, 1, fp) > 0) {
+                       network_process_buffer(buffer, size);
+               }
                free(buffer);
        }