Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Fix a problem introduced with [593ceca27d]: the blob resize operation may realloc the buffer, so obtain the pointer to the buffer only after the resize to avoid a "use after free". |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
36bcaaeee06e23aced66d2a94c4d237d |
| User & Date: | florian 2024-12-18 18:30:00.000 |
Context
|
2024-12-18
| ||
| 18:40 | Fix the previous commit to restore ANSI C-89 conformance. check-in: bee9b30168 user: florian tags: trunk | |
| 18:30 | Fix a problem introduced with [593ceca27d]: the blob resize operation may realloc the buffer, so obtain the pointer to the buffer only after the resize to avoid a "use after free". check-in: 36bcaaeee0 user: florian tags: trunk | |
| 12:51 | Fix additional harmless memory leaks. check-in: d564056cce user: drh tags: trunk | |
Changes
Changes to src/printf.c.
| ︙ | ︙ | |||
848 849 850 851 852 853 854 |
length = width = 0;
break;
}
case etHEX: {
char *zArg = va_arg(ap, char*);
int szArg = (int)strlen(zArg);
int szBlob = blob_size(pBlob);
| < > | 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 |
length = width = 0;
break;
}
case etHEX: {
char *zArg = va_arg(ap, char*);
int szArg = (int)strlen(zArg);
int szBlob = blob_size(pBlob);
blob_resize(pBlob, szBlob+szArg*2+1);
u8 *aBuf = (u8*)&blob_buffer(pBlob)[szBlob];
encode16((const u8*)zArg, aBuf, szArg);
length = width = 0;
break;
}
case etERROR:
buf[0] = '%';
buf[1] = c;
|
| ︙ | ︙ |