BBS: TELESC.NET.BR
Assunto: Win32 debug heap assertion after reading a cached filter filter while
De: Rob Swindell
Data: Thu, 12 Mar 2026 19:09:39 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/issues/1099#note_8572
Tried to create a small reproduction case for this issue, unsuccessfully.
Created xpdev/strlisttest.c:
```
#include "str_list.h"
#include "threadwrap.h"
#include "genwrap.h"
str_list_t list;
static char* process_findstr_item(size_t index, char *str, void* cbdata)
{
SKIP_WHITESPACE(str);
truncnl(str);
return c_unescape_str(str);
}
void thread(void* arg) {
const char* fname = arg;
FILE *fp;
printf("Reading %s\n", fname);
if ((fp = fopen(fname, "r")) == NULL)
return;
list = strListReadFile(fp, NULL, 1000);
strListModifyEach(list, process_findstr_item, /* cbdata: */ NULL);
fclose(fp);
int count;
COUNT_LIST_ITEMS(list, count);
printf("Read %d items\n", count);
}
int main(int argc, char ** argv) {
for (int i = 1; i < argc; ++i) {
_beginthread(thread, 0, argv[i]);
SLEEP(2000);
printf("Freeing list\n");
strListFree(&list);
printf("Done freeing list\n");
}
return 0;
}
```
Built it for Win32-debug with this command-line:
```
cl /Zi /fsanitize=address -DHAS_STDINT_H strlisttest.c str_list.c genwrap.c xpprintf.c
```
And ran the result like this:
```
strlisttest s:\sbbs\text\ip.can s:\sbbs\text\host.can s:\sbbs\text\ip.can s:\sbbs\text\host.can s:\sbbs\text\ip-silent.can
```
No errors or exceptions of any kind reported.
n
---
mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net
-----------------------------------------------------------
[Voltar]