diff --git a/lib/http_digest.c b/lib/http_digest.c
index 44ccd90bb168afdbe0508b20e3c01183b89bd073..75251a8b6d4647ba0bce6cfc7d45f6bb4c944e6d 100644
--- a/lib/http_digest.c
+++ b/lib/http_digest.c
@@ -76,7 +76,7 @@ CURLcode Curl_output_digest(struct connectdata *conn,
   CURLcode result;
   struct SessionHandle *data = conn->data;
   unsigned char *path;
-  unsigned char *tmp;
+  char *tmp;
   char *response;
   size_t len;
 
@@ -137,10 +137,10 @@ CURLcode Curl_output_digest(struct connectdata *conn,
   if(authp->iestyle && ((tmp = strchr((char *)uripath, '?')) != NULL)) {
     size_t urilen = tmp - (char *)uripath;
 
-    path = aprintf("%.*s", urilen, uripath);
+    path = (unsigned char *) aprintf("%.*s", urilen, uripath);
   }
   else
-    path = strdup((char *) uripath);
+    path = (unsigned char *) strdup((char *)uripath);
 
   if(!path)
     return CURLE_OUT_OF_MEMORY;