Fixes #258: char* arrays in C not being copied correctly

This commit is contained in:
Sean E. Russell 2021-08-19 13:28:02 -05:00
parent 9483a7f010
commit a38bb946c1

View File

@ -646,7 +646,15 @@ char* get_title_by_hand(MData m_data){
// Check result value
if (result != NULL) {
// Convert result to a string
char *name = (char*)result;
char *name = (char*)calloc(strlen(result)+1, sizeof(char*));
char *rptr = (char*)result;
char *nptr = name;
while (*rptr) {
*nptr = *rptr;
nptr++;
rptr++;
}
*nptr = '\0';
XFree(result);
if (name != NULL) { return name; }
@ -658,8 +666,17 @@ char* get_title_by_hand(MData m_data){
// Check result value
if (result != NULL) {
// Convert result to a string
char *name = (char*)result;
char *name = (char*)calloc(strlen(result)+1, sizeof(char*));
char *rptr = (char*)result;
char *nptr = name;
while (*rptr) {
*nptr = *rptr;
nptr++;
rptr++;
}
*nptr = '\0';
XFree(result);
return name;
}