Hi there people,

I need a little help here with a program I made, its about finding how many pairs of anagram there are in a given input (can be from keyboard, or a text data). The number of words given are not known before EOF.

for example data.txt :
Code:
atm
mat
rat
art
spit
pits
run
will give me 4 (assuming that "run" is a pair of anagram to itself)
words are all in lowercase and no space,

here is my program :
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 33


int areAnags(char *str1, char *str2){
	int i,temp;
	int count1[256] = {0}; 
	int count2[256] = {0};
	
	if(strlen(str1) != strlen(str2)) return 0;	

	for(i=0;i<strlen(str1);i++){
		temp = (int)str1[i];
		count1[temp]++;
	}
	for(i=0;i<strlen(str2);i++){
		temp = (int)str2[i];
		count2[temp]++;
	}

	for(i=97;i<=122;i++){
		if(count1[i] != count2[i]) return 0;	
	}
	
	return 1;
}


int main(void){
	char input[MAX];
	int count = 0,i;
	char **anagram = NULL;
	
	anagram = malloc(sizeof(char *));
	anagram[0] = malloc(MAX * sizeof(char));
	if(anagram == NULL){
		printf("Insufficient memory available.\n");		
		return EXIT_FAILURE;
	}

	while(scanf("%s", input) != EOF){	
		anagram[0] = strdup(input);
		for(i=0;i<sizeof(anagram);i++){
			if(areAnags(anagram[i],input) == 0){
				anagram = realloc(anagram, (count+1) * sizeof(char *));
				anagram[count] = malloc(MAX * sizeof(char));

				if(anagram == NULL || anagram[count] == NULL){
						printf("Insufficient memory available.\n");		
						return EXIT_FAILURE;		
				}
					
				anagram[count] = strdup(input);
				count++;
			}
		}
	}

	for(i=0;i<count;i++)	
		printf("%d\n", sizeof(anagram));
	

	for(i=0;i<sizeof(anagram);i++) 
		free(anagram[i]);
	free(anagram);
	return 0;
}
The program compiled successfully, but when I run it, it keeps getting me a Segmentation Faullt, I am using a bit confusing pointers here, so I am not quite sure where I did the mistake..
I tried gdb, and it gave me this :

Code:
Program received signal SIGSEGV, Segmentation fault.
0xb7de7613 in strlen () from /lib/tls/i686/cmov/libc.so.6
Thanks in advance.
meriororen.