--- rotor.c.old 2006-06-14 23:44:27.000000000 +0200 +++ rotor.c 2006-06-14 23:46:43.000000000 +0200 @@ -96,7 +96,8 @@ continue; if ((diseqc=Diseqcs.Get(source->Code(),12000,'h')) || (diseqc=Diseqcs.Get(source->Code(),12000,'v')) || (diseqc=Diseqcs.Get(source->Code(),12000,'l')) || (diseqc=Diseqcs.Get(source->Code(),12000,'r'))) { - char *c=strdup(diseqc->Commands()); + char *commandstring=strdup(diseqc->Commands()); + char *c=commandstring; while (c = strchr(c, '[')) { char *e = strchr(++c, ']'); @@ -131,7 +132,7 @@ break; } } - free(c); + free(commandstring); } cRotorPos *p = RotorPositions.GetfromSource(source->Code()); if (p==RotorPositions.First())