From: Danny Heijl Date: Mon, 4 Sep 2000 21:18:07 +0000 (+0000) Subject: - remove a memory leak warning and fix a crash when tempnam() X-Git-Tag: php-4.0.3RC1~316 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=95d92b8be0eab6dd2aa54792371afc19faf05f69;p=php - remove a memory leak warning and fix a crash when tempnam() failed for some reason (danny). --- diff --git a/ext/informix/ifx.ec b/ext/informix/ifx.ec index aa487a8aa8..9042e22bd5 100644 --- a/ext/informix/ifx.ec +++ b/ext/informix/ifx.ec @@ -1805,11 +1805,16 @@ PHP_FUNCTION(ifx_errormsg) ifx_errmsg[0] = 0; } - returnmsg = (char *) emalloc(strlen(ifx_errmsg) + 128); + returnmsg = (char *) malloc(strlen(ifx_errmsg) + 128); sprintf(returnmsg,ifx_errmsg, sqlca.sqlerrm); free(ifx_errmsg); + //RETURN_STRING(returnmsg,1); // can not use the macro, have to free the memory + return_value->value.str.len = strlen(returnmsg); + return_value->value.str.val = estrndup(returnmsg,return_value->value.str.len); + return_value->type = IS_STRING; + free(returnmsg); + return; - RETURN_STRING(returnmsg,0); /* do not dup, emalloced ! */ } /* }}} */ @@ -3783,6 +3788,10 @@ static char* php3_intifx_create_tmpfile(long bid) { sprintf(filename,"blb%d",(int)bid); blobfile=tempnam(blobdir,filename); free(blobdir); + + if (blobfile == NULL) + return NULL; + retval=emalloc(strlen(blobfile)+1); if(retval==NULL) return NULL;