spa: deal with non-null terminated strings in spa_error_location

Add len field to indicate number of valid characters after location.
This commit is contained in:
Pauli Virtanen 2024-03-27 18:30:13 +02:00
parent a0af514581
commit 3e99a0e839
3 changed files with 3 additions and 1 deletions

View file

@ -38,7 +38,7 @@ static inline void spa_debugc_error_location(struct spa_debug_context *c,
int i, skip = loc->col > 80 ? loc->col - 40 : 0, lc = loc->col-skip-1;
char buf[80];
for (i = 0; (size_t)i < sizeof(buf)-1; i++) {
for (i = 0; (size_t)i < sizeof(buf)-1 && (size_t)(i + skip) < loc->len; i++) {
char ch = loc->location[i + skip];
if (ch == '\n' || ch == '\0')
break;