Use the STRDUP macro instead of strdup() for the sake of better error
handling on memory allocation failures.

Signed-off-by: Lukas Fleischer <[email protected]>
---
Should we do some cleanup and free() payload if STRDUP() fails in
alpm_fetch_pkgurl()?

 lib/libalpm/dload.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 68a68e9..a1b6364 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -387,10 +387,10 @@ cleanup:
                                                tempfile, destfile, 
strerror(errno));
                                ret = -1;
                        } else if(final_file) {
-                               *final_file = strdup(strrchr(destfile, '/') + 
1);
+                               STRDUP(*final_file, strrchr(destfile, '/') + 1, 
RET_ERR(handle, ALPM_ERR_MEMORY, -1));
                        }
                } else if(final_file) {
-                       *final_file = strdup(strrchr(tempfile, '/') + 1);
+                       STRDUP(*final_file, strrchr(tempfile, '/') + 1, 
RET_ERR(handle, ALPM_ERR_MEMORY, -1));
                }
        }
 
@@ -456,7 +456,7 @@ char SYMEXPORT *alpm_fetch_pkgurl(alpm_handle_t *handle, 
const char *url)
 
        CALLOC(payload, 1, sizeof(*payload), RET_ERR(handle, ALPM_ERR_MEMORY, 
NULL));
        payload->handle = handle;
-       payload->fileurl = strdup(url);
+       STRDUP(payload->fileurl, url, RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
        payload->allow_resume = 1;
 
        /* download the file */
-- 
1.7.6


Reply via email to