native_sp_level.demo.data[i] = getFile8Bit(file);
if (native_sp_level.demo.data[i] == 0xff) /* "end of demo" byte */
- {
- i++;
-
break;
- }
}
+ if (i >= SP_MAX_TAPE_LEN)
+ Error(ERR_WARN, "SP demo truncated: size exceeds maximum SP demo size %d",
+ SP_MAX_TAPE_LEN);
+
native_sp_level.demo.length = i;
native_sp_level.demo.is_available = (native_sp_level.demo.length > 0);
}
for (i = 0; i < native_sp_level.demo.length; i++)
putFile8Bit(file, native_sp_level.demo.data[i]);
+
+ putFile8Bit(file, 0xff); /* "end of demo" byte */
}
fclose(file);