@@ -221,6 +221,8 @@ int INPUT(struct Map_info *In, char *column, char *scol, char *wheresql)
221221 G_warning (_ ("Can't insert %lf,%lf,%lf,%lf,%lf a=%d" ), x , y , z ,
222222 w , sm , a );
223223 Vect_destroy_field_info (Fi );
224+ db_close_database_shutdown_driver (Driver );
225+ db_CatValArray_free (& cvarr );
224226 return -1 ;
225227 }
226228
@@ -324,6 +326,7 @@ int INPUT(struct Map_info *In, char *column, char *scol, char *wheresql)
324326 else {
325327 fprintf (stderr , "ERROR: zero points in the given region!\n" );
326328 Vect_destroy_field_info (Fi );
329+ db_close_database_shutdown_driver (Driver );
327330 return -1 ;
328331 }
329332 }
@@ -335,6 +338,7 @@ int INPUT(struct Map_info *In, char *column, char *scol, char *wheresql)
335338 fprintf (stderr , "for smooth connection of segments, npmin > segmax "
336339 "(see manual) \n" );
337340 Vect_destroy_field_info (Fi );
341+ db_close_database_shutdown_driver (Driver );
338342 return -1 ;
339343 }
340344
@@ -386,6 +390,7 @@ int INPUT(struct Map_info *In, char *column, char *scol, char *wheresql)
386390 G_message (_ ("Bitmap mask created" ));
387391 }
388392 Vect_destroy_field_info (Fi );
393+ db_close_database_shutdown_driver (Driver );
389394
390395 return 1 ;
391396}
0 commit comments