From 0234ca56540b5675b224f02a09f5856b66214d64 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 3 Feb 2018 22:33:51 +0100 Subject: [PATCH] scripting, remove free --- client/cmdcrc.c | 4 +-- client/reveng/preset.c | 63 +++++++++++++++++++++--------------------- client/scripting.c | 3 -- 3 files changed, 33 insertions(+), 37 deletions(-) diff --git a/client/cmdcrc.c b/client/cmdcrc.c index 5f8f209d5..1d2aba788 100644 --- a/client/cmdcrc.c +++ b/client/cmdcrc.c @@ -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){ diff --git a/client/reveng/preset.c b/client/reveng/preset.c index fdf4c0c07..22c3d8b06 100644 --- a/client/reveng/preset.c +++ b/client/reveng/preset.c @@ -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; -} +} \ No newline at end of file diff --git a/client/scripting.c b/client/scripting.c index a747ee9fe..899f14d97 100644 --- a/client/scripting.c +++ b/client/scripting.c @@ -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"); }