Re: [pacman-dev] [PATCH 1/3] pacsort: handle failing list_add

2015-10-20 Thread Allan McRae
On 11/08/15 05:42, Rikard Falkeborn wrote:
> Since it can fail, check the return value.
> If it fails, we need to free the memory of the object we wanted
> to add to the list.
> 
> Signed-off-by: Rikard Falkeborn 

OK.

Sorry for the long delay!  (Two months is not that bad...)


[pacman-dev] [PATCH 1/3] pacsort: handle failing list_add

2015-08-10 Thread Rikard Falkeborn
Since it can fail, check the return value.
If it fails, we need to free the memory of the object we wanted
to add to the list.

Signed-off-by: Rikard Falkeborn rikard.falkeb...@gmail.com
---
 src/util/pacsort.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/util/pacsort.c b/src/util/pacsort.c
index b0137ec..003ec07 100644
--- a/src/util/pacsort.c
+++ b/src/util/pacsort.c
@@ -254,7 +254,10 @@ static char *explode(struct buffer_t *buffer, struct 
list_t *list)
while((end = memchr(ptr, linedelim, buffer-mem[buffer-len] - ptr))) {
*end = '\0';
meta = input_new(ptr, end - ptr);
-   list_add(list, meta);
+   if(meta == NULL || list_add(list, meta) != 0) {
+   input_free(meta);
+   return NULL;
+   }
ptr = end + 1;
}
 
@@ -294,6 +297,7 @@ static int splitfile(FILE *stream, struct buffer_t *buffer, 
struct list_t *list)
if(buffer-len) {
struct input_t *meta = input_new(buffer-mem, buffer-len + 1);
if(meta == NULL || list_add(list, meta) != 0) {
+   input_free(meta);
return 1;
}
}
-- 
2.5.0