Hi!

I seem to be getting a segmentation fault and cant figure it out. Also, the count returns a negative value which is quite odd... it probably crashed after just one iteration of the loop.

-Arti

Code:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define BUFF_SIZE 1024

int main(int argc, char** argv) {
  struct sockaddr_in addr1, addr2, addr3;
  int socket1;
  char msg1[] = "GET /~1204a007/index.html HTTP/1.0\n\n";
  char *inmsg1 = 0;
  char i;
  int j;
  int count=0;
  FILE* f1;
  
  inmsg1 = (char*) malloc(sizeof(char) * BUFF_SIZE+1);
  if (inmsg1 == NULL) {
    printf("Low memory error\n");
    return 1;
  }
//  inmsg1[BUFF_SIZE] = '\0';
  
  addr1.sin_addr.s_addr = inet_addr("192.168.36.211");
  addr1.sin_port = htons(80);
  addr1.sin_family = AF_INET;
  memset(&(addr1.sin_zero), 0, 8);
  
  socket1 = socket(AF_INET, SOCK_STREAM, 0);
  connect(socket1, (struct sockaddr*) &addr1, sizeof(struct sockaddr_in));
  
  send(socket1, &msg1, strlen(msg1), 0);

f1 = fopen("versace.txt", "w");
  
  while (1) {
  memset(&inmsg1, 0, sizeof(char) * BUFF_SIZE);
  j=recv(socket1, &inmsg1, sizeof(char) * BUFF_SIZE, 0);
  if (j==0 || j==-1) break;
  count++;

//  for (i=0; i<j; i++) {
//    fprintf(f1, "%c",&inmsg1[i]);
//  }
    fprintf(f1, "%s", &inmsg1);
  }
  printf("\n");
  printf("Count: %d\n", &count);
  
  fclose(f1);
  close(socket1);
  return 0;
}