]> gitweb.hhaalo.de Git - discspan.git/commitdiff
fix alloc error
authorBastian Dehn <hhaalo@arcor.de>
Sat, 30 Aug 2025 07:29:07 +0000 (09:29 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 30 Aug 2025 07:29:07 +0000 (09:29 +0200)
libs/spandisc/src/splitter.c

index 5a8979d6b41417a4af100fe908fd80de7867935f..f833bb97039ef5ce4797e02a6565e0f0befbf202 100644 (file)
@@ -87,9 +87,8 @@ int bigger_file_ignore_medium(medium_t *disc, file_size_t file)
 
 void add_item_medium(medium_t *medium, file_size_t item)
 {
-       medium->filearray = (file_size_t *)realloc(medium->filearray,
-                       (medium->length + 1) *
-                       sizeof(file_size_t));
+       medium->filearray = realloc(medium->filearray,
+               (medium->length + 1) * sizeof(file_size_t));
        medium->filearray[medium->length] = item;
        medium->length++;
 }
@@ -113,8 +112,9 @@ medium_t splitter_to_disc(medium_t *srcdata,
                        rest.length * sizeof(file_size_t));
 
        srcdata->length = rest.length;
-       srcdata->filearray = (file_size_t *) realloc(srcdata->filearray,
-                                       srcdata->length * sizeof(file_size_t));
+       if (srcdata->length > 0)
+               srcdata->filearray = realloc(srcdata->filearray,
+                       srcdata->length * sizeof(file_size_t));
 
        qsort(disc.filearray, disc.length, sizeof(file_size_t), strcmpfunc);