diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-29 08:45:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-29 08:45:40 +0400 |
commit | 33a9cb6caa27aff13942fdea5e95cb9ac8ee74df (patch) | |
tree | c63056e0978b4729c5ba86aac39e56cfa6d0f554 /source/blender/nodes | |
parent | a25f00301f63fb61e830199df62beb2fa1999013 (diff) |
minor changes for confusing code.
- memset() was argument was truncated.
- outliner had redundant NULL check.
- node texture was allocating memory to make a unique name which isnt needed for a fixed size string.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/texture/nodes/node_texture_output.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/nodes/texture/nodes/node_texture_output.c b/source/blender/nodes/texture/nodes/node_texture_output.c index 235cb560a99..37e527f611a 100644 --- a/source/blender/nodes/texture/nodes/node_texture_output.c +++ b/source/blender/nodes/texture/nodes/node_texture_output.c @@ -80,12 +80,13 @@ static void exec(void *data, int UNUSED(thread), bNode *node, bNodeExecData *exe static void unique_name(bNode *node) { TexNodeOutput *tno = (TexNodeOutput *)node->storage; - char *new_name = NULL; + char new_name[sizeof(tno->name)]; int new_len = 0; int suffix; bNode *i; char *name = tno->name; + new_name[0] = '\0'; i = node; while (i->prev) i = i->prev; for (; i; i = i->next) { @@ -96,7 +97,7 @@ static void unique_name(bNode *node) continue; } - if (!new_name) { + if (new_name[0] == '\0') { int len = strlen(name); if (len >= 4 && sscanf(name + len - 4, ".%03d", &suffix) == 1) { new_len = len; @@ -107,17 +108,15 @@ static void unique_name(bNode *node) if (new_len > (sizeof(tno->name) - 1)) new_len = (sizeof(tno->name) - 1); } - - new_name = MEM_mallocN(new_len + 1, "new_name"); - strcpy(new_name, name); + + BLI_strncpy(new_name, name, sizeof(tno->name)); name = new_name; } sprintf(new_name + new_len - 4, ".%03d", ++suffix); } - if (new_name) { - strcpy(tno->name, new_name); - MEM_freeN(new_name); + if (new_name[0] != '\0') { + BLI_strncpy(tno->name, new_name, sizeof(tno->name)); } } |