ich arbeite mit xcode auf dem Mac un arbeite mich gerade in die Programmiersprache C ein. In diesem Zug habe ich ein kleines Testprogramm geschrieben. Wenn da den Analyzer drüber laufen lasse, dann meckert er an einer Stelle. Ich verstehe aber nicht, warum.
Hier die betreffenden Zeilen:
Code: Alles auswählen
char *strRepeater(char *c,unsigned int multi) {
if (!multi) {
return "";
}
size_t bufsize = strlen(c) * multi + 1;
char *buffer = malloc(bufsize);
bzero(buffer, bufsize);
unsigned int ii;
for (ii=0; ii<multi; ii++) {
strcat(buffer, c);
}
//char *retval = strdup(buffer);
//free(buffer);
return buffer;
}
void printChar(char *c,unsigned int multi) {
char *repeatedStr = strRepeater(c, multi);
printf("%s",repeatedStr);
free(repeatedStr); // Analyze: Argument to free() is the address of a global variable, which is not memory allocated by malloc()
}
LG
Petra