Summary: | [patch] getdata: assertion failed on zero read in lincom and multiply | ||
---|---|---|---|
Product: | [Applications] kst | Reporter: | D. V. Wiebe <dvw> |
Component: | general | Assignee: | kst |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 1.x | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Patch for bug 118838 |
Description
D. V. Wiebe
2005-12-22 04:33:40 UTC
Created attachment 14018 [details] Patch for bug 118838 SVN commit 490483 by staikos: fix memory leak and assertion failure. Patches from Don BUGS: 118837, 118838 M +21 -4 getdata.c --- trunk/extragear/graphics/kst/kst/datasources/dirfile/getdata.c #490482:490483 @@ -1201,7 +1201,14 @@ error_code); recurse_level--; - if (*error_code != GD_E_OK) return(1); + + if (*error_code != GD_E_OK) + return(1); + + /* Nothing to lincomise */ + if (*n_read == 0) + return 1; + ScaleData(data_out, return_type, *n_read, L->m[0], L->b[0]); if (L->n_infields > 1) { @@ -1230,8 +1237,10 @@ return_type, tmpbuf, error_code); recurse_level--; - if (*error_code != GD_E_OK) + if (*error_code != GD_E_OK) { + free(tmpbuf); return(1); + } ScaleData(tmpbuf, return_type, n_read2, L->m[i], L->b[i]); @@ -1290,8 +1299,14 @@ error_code); recurse_level--; - if (*error_code != GD_E_OK) return(1); + if (*error_code != GD_E_OK) + return 1; + + /* Nothing to multiply */ + if (*n_read == 0) + return 1; + recurse_level++; /* find the samples per frame of the second field */ @@ -1316,8 +1331,10 @@ return_type, tmpbuf, error_code); recurse_level--; - if (*error_code != GD_E_OK) + if (*error_code != GD_E_OK) { + free(tmpbuf); return(1); + } if (n_read2 > 0 && n_read2 * spf1 < *n_read * spf2) { *n_read = n_read2 * spf1 / spf2; |