scripting, remove free

This commit is contained in:
iceman1001 2018-02-03 22:33:51 +01:00
parent 8a49cb84a2
commit 0234ca5654
3 changed files with 33 additions and 37 deletions

View file

@ -95,7 +95,7 @@ int GetModels(char *Models[], int *count, uint8_t *width){
for (int mode = 0; mode < *count; ++mode) {
mbynum(&model, mode);
mcanon(&model);
size_t size = (model.name && *model.name) ? strlen(model.name) : 6;
size_t size = (model.name && *model.name) ? strlen(model.name) : 7;
char *tmp = calloc(size+1, sizeof(char));
if (tmp==NULL)
return uerr("[!] out of memory?");
@ -171,7 +171,7 @@ int GetModels(char *Models[], int *count, uint8_t *width){
/* the selected model solved all arguments */
mcanon(&pset);
size_t size = (pset.name && *pset.name) ? strlen(pset.name) : 6;
size_t size = (pset.name && *pset.name) ? strlen(pset.name) : 7;
//PrintAndLog("Size: %d, %s, count: %d",size,pset.name, Cnt);
char *tmp = calloc(size+1, sizeof(char));
if (tmp == NULL){

View file

@ -723,12 +723,12 @@ static const struct malias aliases[] = {
#else /* PRESETS */
static const struct mpreset models[] = {
{ 0UL, 0, 0, P_BE, 0, 0, 0, NULL }, /* terminating entry */
{ 0UL, 0, 0, P_BE, 0, 0, 0, NULL }, /* terminating entry */
};
# define NPRESETS 0
static const struct malias aliases[] = {
{NULL, NULL }, /* terminating entry */
{NULL, NULL }, /* terminating entry */
};
# define NALIASES 0
@ -760,26 +760,26 @@ int mbynam(model_t *dest, const char *key) {
int cmp = 1;
char *ukey, *uptr;
if(!aliases->name)
if (!aliases->name)
return(-1);
if(!(ukey = malloc((size_t) 1 + strlen(key)))) {
uerror("cannot allocate memory for comparison string");
if (!(ukey = malloc((size_t) 1 + strlen(key) + 1))) {
uerror("[!] cannot allocate memory for comparison string");
return(0);
}
uptr = ukey;
do
*uptr++ = toupper(*key);
while(*key++);
while (*key++);
while(left < right && cmp) {
while (left < right && cmp) {
middle = (left >> 1) + (right >> 1);
cmp = strcmp(ukey, aliases[middle].name);
if(cmp < 0) right = middle;
else if(cmp > 0) left = middle + 1;
if (cmp < 0) right = middle;
else if (cmp > 0) left = middle + 1;
}
free(ukey);
if(cmp)
if (cmp)
return(0);
munpack(dest, aliases[middle].model);
return(1);
@ -787,7 +787,7 @@ int mbynam(model_t *dest, const char *key) {
void mbynum(model_t *dest, int num) {
/* Sets parameters in dest according to the model indexed by num. */
if(num > NPRESETS)
if (num > NPRESETS)
num = NPRESETS;
munpack(dest, num+models);
}
@ -806,17 +806,17 @@ char * mnames(void) {
char *string, *sptr;
const struct malias *aptr = aliases;
while(aptr->name) {
if(aptr == aptr->model->alias)
while (aptr->name) {
if (aptr == aptr->model->alias)
size += strlen(aptr->name) + 1;
++aptr;
}
if(!size) return(NULL);
if((string = malloc(size))) {
if (!size) return(NULL);
if ((string = malloc(size))) {
aptr = aliases;
sptr = string;
while(aptr->name) {
if(aptr == aptr->model->alias) {
while (aptr->name) {
if (aptr == aptr->model->alias) {
strcpy(sptr, aptr->name);
sptr += strlen(aptr->name);
*sptr++ = '\n';
@ -836,49 +836,48 @@ void mmatch(model_t *model, int flags) {
size_t left = 0, right = NPRESETS, middle = 0;
poly_t poly = PZERO;
int cmp = 1;
if(!model) return;
if (!model) return;
while(left < right && cmp) {
while (left < right && cmp) {
middle = (left >> 1) + (right >> 1);
PUNPACK(&poly, models+middle, bspoly);
cmp = psncmp(&model->spoly, &poly);
if(!cmp) {
if (!cmp) {
PUNPACK(&poly, models+middle, binit);
cmp = psncmp(&model->init, &poly);
}
if(!cmp) {
if((model->flags & P_REFIN) && (~models[middle].flags & P_REFIN))
if (!cmp) {
if ((model->flags & P_REFIN) && (~models[middle].flags & P_REFIN))
cmp = 1;
else if((~model->flags & P_REFIN) && (models[middle].flags & P_REFIN))
else if ((~model->flags & P_REFIN) && (models[middle].flags & P_REFIN))
cmp = -1;
else if((model->flags & P_REFOUT) && (~models[middle].flags & P_REFOUT))
else if ((model->flags & P_REFOUT) && (~models[middle].flags & P_REFOUT))
cmp = 1;
else if((~model->flags & P_REFOUT) && (models[middle].flags & P_REFOUT))
else if ((~model->flags & P_REFOUT) && (models[middle].flags & P_REFOUT))
cmp = -1;
else {
PUNPACK(&poly, models+middle, bxorout);
cmp = psncmp(&model->xorout, &poly);
}
}
if(cmp < 0) right = middle;
else if(cmp > 0) left = middle + 1;
if (cmp < 0) right = middle;
else if (cmp > 0) left = middle + 1;
}
pfree(&poly);
if(!cmp) {
if (!cmp) {
model->name = models[middle].alias->name;
if(flags & M_OVERWR)
if (flags & M_OVERWR)
munpack(model, models+middle);
}
}
/* Private functions */
static void munpack(model_t *dest, const struct mpreset *src) {
/* Copies the parameters of src to dest.
* dest must be an initialised model.
*/
if(!dest || !src) return;
if (!dest || !src) return;
MUNPACK(spoly);
MUNPACK(init);
MUNPACK(xorout);
@ -887,4 +886,4 @@ static void munpack(model_t *dest, const struct mpreset *src) {
dest->flags = src->flags;
/* link to the name as it is static */
dest->name = (src->alias) ? src->alias->name : NULL;
}
}

View file

@ -466,9 +466,6 @@ static int l_reveng_models(lua_State *L){
int ans = GetModels(models, &count, width);
if (!ans) {
for (int i =0; i<102; i++) {
free(models[i]);
}
return returnToLuaWithError(L, "Didn't find any models");
}