hey i fixed up my previous echo server program but now i am facing problems in recv() function..

This program successfully sends "Hiii!!!!" to the client .

But is not receiving properly ..
I telneted the program to test
and when i send a message from telnet to this program .

It is showing some:-
"libc.so.6"

on the screen

why this is happening ..
Help me with this.

Here is the new source code:-

Code:
/* A simple server in the internet domain using TCP
   The port number is passed as an argument */
#include <stdio.h>
#include <sys/types.h> 
#include <sys/socket.h>
#include <netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<string.h>

#define portno "4040"

int main()
{
        struct addrinfo hints,*serv,*p;
    int sockfd,newfd,status;
    struct sockaddr_storage their_addr;
    socklen_t addr_size;
    char *msg;
    int len;
    char buff[100];

    memset(&hints,0,sizeof(hints));
    hints.ai_socktype=SOCK_STREAM;
    hints.ai_family=AF_UNSPEC;
    hints.ai_flags=AI_PASSIVE;

    if((status=getaddrinfo(NULL,portno,&hints,&serv)) == -1)
    {
        fprintf(stderr,"Error in getaddrinfo :-\n %s\n",gai_strerror(status));
    }

    for(p=serv;p!=NULL;p = p->ai_next)
    {
        if( (sockfd = socket(p->ai_family,p->ai_socktype,p->ai_protocol)) == -1 )
        {
            printf("Error in Socket \n");
            continue;
        }
        
        if( bind(sockfd,p->ai_addr,p->ai_addrlen) == -1)
        {
            printf("Binding error!!!\n");
            close(sockfd);            
            continue;
        }
        
        break;
    }

    /* if( (connect(sockfd,serv->ai_addr,serv->ai_addrlen) ) == -1 )
    {
        printf("Connect err!!!\n\n");
        return(0);
    }  if on client we use this*/

    listen(sockfd,10);

    addr_size= sizeof(their_addr);
    newfd = accept(sockfd, (struct sockaddr *)&their_addr,&addr_size);
    
    
        printf("%s",msg);
        
        if( ( send(newfd,"Hiii!!!!",9,0) ) == -1)
        {
            printf("err in send\n\n");
            return(1);
        }
    
    recv(newfd,buff,sizeof(buff),0);
    printf("\n");
    freeaddrinfo(serv);
    close(sockfd);
    return(0);
}