comparison src/xs_config.c @ 711:d18884383ca3

Fix off by one.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 09 Feb 2009 11:13:14 +0200
parents b5b6b13a6d85
children f82e0adf19f0
comparison
equal deleted inserted replaced
710:a6283cf95c99 711:d18884383ca3
399 tmpStr[i] = inLine[*linePos]; 399 tmpStr[i] = inLine[*linePos];
400 tmpStr[i] = 0; 400 tmpStr[i] = 0;
401 xs_findnext(inLine, linePos); 401 xs_findnext(inLine, linePos);
402 return (inLine[*linePos] == sep); 402 return (inLine[*linePos] == sep);
403 } 403 }
404
404 405
405 static gboolean xs_filters_import(const gchar *pcFilename, xs_sid2_filter_t **pFilters, gint *nFilters) 406 static gboolean xs_filters_import(const gchar *pcFilename, xs_sid2_filter_t **pFilters, gint *nFilters)
406 { 407 {
407 FILE *inFile; 408 FILE *inFile;
408 gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE]; 409 gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE];
454 g_free(sectName); 455 g_free(sectName);
455 } 456 }
456 457
457 /* New filter(?) section starts */ 458 /* New filter(?) section starts */
458 linePos++; 459 linePos++;
459 for (i = 0; i < XS_BUF_SIZE && inLine[linePos] && inLine[linePos] != ']'; i++, linePos++) 460 for (i = 0; i < XS_BUF_SIZE-1 && inLine[linePos] && inLine[linePos] != ']'; i++, linePos++)
460 tmpStr[i] = inLine[linePos]; 461 tmpStr[i] = inLine[linePos];
461 tmpStr[i] = 0; 462 tmpStr[i] = 0;
462 463
463 if (inLine[linePos] != ']') { 464 if (inLine[linePos] != ']') {
464 fprintf(stderr, "invalid! expected ']': %s\n", inLine); 465 fprintf(stderr, "invalid! expected ']': %s\n", inLine);