[pacman-dev] [PATCH 1/2] lib/libalpm/dload.c: Use STRDUP() instead of strdup()

Lukas Fleischer archlinux at cryptocrack.de
Thu Aug 18 03:42:20 EDT 2011


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

Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
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



More information about the pacman-dev mailing list