max the largest metadata type code be 126, reserving 127 to avoid confusion with a frame sync code
diff --git a/src/libFLAC/metadata_object.c b/src/libFLAC/metadata_object.c
index 074611b..1e718ef 100644
--- a/src/libFLAC/metadata_object.c
+++ b/src/libFLAC/metadata_object.c
@@ -334,7 +334,12 @@
 
 FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type)
 {
-	FLAC__StreamMetadata *object = (FLAC__StreamMetadata*)calloc(1, sizeof(FLAC__StreamMetadata));
+	FLAC__StreamMetadata *object;
+
+	if(type > FLAC__MAX_METADATA_TYPE_CODE)
+		return 0;
+
+	object = (FLAC__StreamMetadata*)calloc(1, sizeof(FLAC__StreamMetadata));
 	if(0 != object) {
 		object->is_last = false;
 		object->type = type;