[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60484] trunk/blender/source/blender/ blenkernel/intern: Fix issues reported by coverity scan in recent changes to customdata code.

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Oct 5 15:39:49 CEST 2013


Added back a check now, I could redo this warning applying a subsurf
modifier to on an empty mesh. I don't think we should avoid calling
CustomData_copy_data_layer then.

On Sat, Oct 5, 2013 at 2:39 PM, Campbell Barton <ideasman42 at gmail.com> wrote:
> This is likely a case where CustomData_copy_data_layer shouldn't be
> called in the first place, Id like to keep the warning.
>
> However I cant redo the bug, could you report this and include a blend file?
>
> On Sat, Oct 5, 2013 at 10:19 PM, IRIE Shinsuke <irieshinsuke at yahoo.co.jp> wrote:
>> Hi,
>>
>> Since this commit, I get annoying endless warnings when opening my
>> .blend files:
>>
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> CustomData_copy_data_layer: warning null data for CDOrigIndex type ((nil) --> (nil)), skipping
>> ...
>>
>>
>> If both src_data and dest_data are null, is the warning really
>> necessary?
>>
>> IRIE Shinsuke
>>
>> 13/10/01, Brecht Van Lommel wrote:
>>> Revision: 60484
>>>            http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60484
>>> Author:   blendix
>>> Date:     2013-10-01 12:48:41 +0000 (Tue, 01 Oct 2013)
>>> Log Message:
>>> -----------
>>> Fix issues reported by coverity scan in recent changes to customdata code.
>>>
>>> Modified Paths:
>>> --------------
>>>      trunk/blender/source/blender/blenkernel/intern/customdata.c
>>>      trunk/blender/source/blender/blenkernel/intern/mesh.c
>>>
>>> Modified: trunk/blender/source/blender/blenkernel/intern/customdata.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/blenkernel/intern/customdata.c       2013-10-01 12:48:32 UTC (rev 60483)
>>> +++ trunk/blender/source/blender/blenkernel/intern/customdata.c       2013-10-01 12:48:41 UTC (rev 60484)
>>> @@ -1463,8 +1463,7 @@
>>>
>>>       for (i = 0; i < data->totlayer; ++i)
>>>               if (data->layers[i].type == type)
>>> -                     if ((!name && !data->layers[i].name) ||
>>> -                         (strcmp(data->layers[i].name, name) == 0))
>>> +                     if (strcmp(data->layers[i].name, name) == 0)
>>>                               return i;
>>>
>>>       return -1;
>>> @@ -1970,11 +1969,9 @@
>>>       dest_offset = dest_index * typeInfo->size;
>>>
>>>       if (!src_data || !dest_data) {
>>> -             if (src_data != NULL && dest_data != NULL) {
>>> -                     printf("%s: warning null data for %s type (%p --> %p), skipping\n",
>>> -                            __func__, layerType_getName(source->layers[src_i].type),
>>> -                            (void *)src_data, (void *)dest_data);
>>> -             }
>>> +             printf("%s: warning null data for %s type (%p --> %p), skipping\n",
>>> +                        __func__, layerType_getName(source->layers[src_i].type),
>>> +                        (void *)src_data, (void *)dest_data);
>>>               return;
>>>       }
>>>
>>>
>>> Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/blenkernel/intern/mesh.c     2013-10-01 12:48:32 UTC (rev 60483)
>>> +++ trunk/blender/source/blender/blenkernel/intern/mesh.c     2013-10-01 12:48:41 UTC (rev 60484)
>>> @@ -645,7 +645,7 @@
>>>       }
>>>       cdlp = &pdata->layers[poly_index];
>>>       cdlu = &ldata->layers[loop_index];
>>> -     cdlf = do_tessface ? &fdata->layers[face_index] : NULL;
>>> +     cdlf = fdata && do_tessface ? &fdata->layers[face_index] : NULL;
>>>
>>>       BLI_strncpy(cdlp->name, new_name, sizeof(cdlp->name));
>>>       CustomData_set_layer_unique_name(pdata, cdlp - pdata->layers);
>>> @@ -662,8 +662,10 @@
>>>                               CustomData_set_layer_unique_name(ldata, cdlu - ldata->layers);
>>>                               break;
>>>                       case 2:
>>> -                             BLI_strncpy(cdlf->name, cdlp->name, sizeof(cdlf->name));
>>> -                             CustomData_set_layer_unique_name(fdata, cdlf - fdata->layers);
>>> +                             if (cdlf) {
>>> +                                     BLI_strncpy(cdlf->name, cdlp->name, sizeof(cdlf->name));
>>> +                                     CustomData_set_layer_unique_name(fdata, cdlf - fdata->layers);
>>> +                             }
>>>                               break;
>>>               }
>>>       }
>>>
>>> _______________________________________________
>>> Bf-blender-cvs mailing list
>>> Bf-blender-cvs at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>
>
>
> --
> - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list