Can anyone explain why I'm getting this error and how can I rectify it?
#include<stdio.h>
#include<stdlib.h>
char makemeunique(char *s,int l)
{ 
char *xp=(char *)malloc(l*sizeof(char));
int *pp=xp;
for(int i=1;i<l; i++)
{ 
    int yes=0; 
    for(int j=i-1;j>=0; j--)
    {
    if(s[i]==s[j])
    yes=1;
    } 
    if(yes-1)
    *pp++=s[i];
} 
*pp='\0';
printf("%s\n",xp);
return xp;
}
Main function
int main()
{
char s[9999],x [9999]; 
scanf("%s\n%s",s,x);
char *p1, *p2;
p1=makemeunique(s, strlen(s)); 
p2=makemeunique(x, strlen(x));
}
My output:
Hello: malloc.c:2385: sysmalloc: Assertion (old_top == initial_top (av) && old_size == 0) || ((uns igned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pa gesize - 1)) == 0)' failed. Aborted (core dumped)
What is the meaning of this output??
This program simply gets two strings and calls the function and stores created heap array in the pointer.


 
    