@@ -3098,6 +3098,9 @@ int msMaybeAllocateClassStyle(classObj* c, int idx)
3098
3098
if ( initStyle (c -> styles [c -> numstyles ]) == MS_FAILURE ) {
3099
3099
msSetError (MS_MISCERR , "Failed to init new styleObj" ,
3100
3100
"msMaybeAllocateClassStyle()" );
3101
+ freeStyle (c -> styles [c -> numstyles ]);
3102
+ free (c -> styles [c -> numstyles ]);
3103
+ c -> styles [c -> numstyles ] = NULL ;
3101
3104
return (MS_FAILURE );
3102
3105
}
3103
3106
c -> numstyles ++ ;
@@ -4101,7 +4104,13 @@ int loadLayer(layerObj *layer, mapObj *map)
4101
4104
if (msGrowLayerClasses (layer ) == NULL )
4102
4105
return (-1 );
4103
4106
initClass (layer -> class [layer -> numclasses ]);
4104
- if (loadClass (layer -> class [layer -> numclasses ], layer ) == -1 ) return (-1 );
4107
+ if (loadClass (layer -> class [layer -> numclasses ], layer ) == -1 )
4108
+ {
4109
+ freeClass (layer -> class [layer -> numclasses ]);
4110
+ free (layer -> class [layer -> numclasses ]);
4111
+ layer -> class [layer -> numclasses ] = NULL ;
4112
+ return (-1 );
4113
+ }
4105
4114
layer -> numclasses ++ ;
4106
4115
break ;
4107
4116
case (CLUSTER ):
@@ -4454,7 +4463,10 @@ int loadLayer(layerObj *layer, mapObj *map)
4454
4463
if (msGrowLayerScaletokens (layer ) == NULL )
4455
4464
return (-1 );
4456
4465
initScaleToken (& layer -> scaletokens [layer -> numscaletokens ]);
4457
- if (loadScaletoken (& layer -> scaletokens [layer -> numscaletokens ], layer ) == -1 ) return (-1 );
4466
+ if (loadScaletoken (& layer -> scaletokens [layer -> numscaletokens ], layer ) == -1 ) {
4467
+ freeScaleToken (& layer -> scaletokens [layer -> numscaletokens ]);
4468
+ return (-1 );
4469
+ }
4458
4470
layer -> numscaletokens ++ ;
4459
4471
break ;
4460
4472
case (SIZEUNITS ):
0 commit comments