# HG changeset patch # User Matti Hamalainen # Date 1425639774 -7200 # Node ID 10cb3c40045130cb0723881fa98698713679d80a # Parent a275b7382ffa1f69d2a8c7c7af3652f7e753d746 Cleanup. diff -r a275b7382ffa -r 10cb3c400451 tools/xm2jss.c --- a/tools/xm2jss.c Fri Mar 06 12:34:35 2015 +0200 +++ b/tools/xm2jss.c Fri Mar 06 13:02:54 2015 +0200 @@ -499,29 +499,36 @@ JSSERROR(DMERR_MALLOC, DMERR_MALLOC, "Error allocating memory for pattern compression buffer.\n"); - - // Write patterns + // Convert and write patterns for (totalSize = pattern = 0; pattern < m->npatterns; pattern++) { + JSSPattern *pat = m->patterns[pattern]; JSSMODPattern patHead; size_t finalSize = 0; + if (pat == NULL) + JSSERROR(DMERR_NULLPTR, DMERR_NULLPTR, + "Pattern #%d was NULL.\n", pattern); + if (pat->nrows > jsetMaxRows) + JSSERROR(DMERR_INVALID_DATA, DMERR_INVALID_DATA, + "Pattern #%d has %d rows > %d max.\n", + pattern, pat->nrows, jsetMaxRows); switch (patMode) { case PATMODE_RAW_HORIZ: - i = jssConvertPatternRawHoriz(patBuf, patBufSize, &finalSize, m->patterns[pattern]); + i = jssConvertPatternRawHoriz(patBuf, patBufSize, &finalSize, pat); break; case PATMODE_COMP_HORIZ: - i = jssConvertPatternCompHoriz(patBuf, patBufSize, &finalSize, m->patterns[pattern]); + i = jssConvertPatternCompHoriz(patBuf, patBufSize, &finalSize, pat); break; case PATMODE_RAW_VERT: - i = jssConvertPatternRawVert(patBuf, patBufSize, &finalSize, m->patterns[pattern]); + i = jssConvertPatternRawVert(patBuf, patBufSize, &finalSize, pat); break; case PATMODE_COMP_VERT: - i = jssConvertPatternCompVert(patBuf, patBufSize, &finalSize, m->patterns[pattern]); + i = jssConvertPatternCompVert(patBuf, patBufSize, &finalSize, pat); break; case PATMODE_RAW_ELEM: - i = jssConvertPatternRawElem(patBuf, patBufSize, &finalSize, m->patterns[pattern]); + i = jssConvertPatternRawElem(patBuf, patBufSize, &finalSize, pat); break; default: dmFree(patBuf); @@ -536,7 +543,7 @@ } dmMsg(3, " - Pattern %d size %d bytes\n", pattern, finalSize); - patHead.nrows = m->patterns[pattern]->nrows; + patHead.nrows = pat->nrows; patHead.size = finalSize; totalSize += finalSize + sizeof(patHead);