Patch #17631 by Early Ehlinger
authorTon Roosendaal <ton@blender.org>
Sat, 20 Sep 2008 14:43:59 +0000 (14:43 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 20 Sep 2008 14:43:59 +0000 (14:43 +0000)
His log:
One of the calls to PIL_dynlib_get_error_as_string was assuming that
it would return a valid string and not NULL (perhaps by converting
to std::string).
This patch simply changes it to always return a string, even when the
error is not recognized.

source/blender/blenlib/intern/dynlib.c

index c4692995f20d4f5151860d6803c2b5216b27ce4c..e7fa3332f435ac27fcc9209fa88bc405101510e8 100644 (file)
@@ -77,12 +77,12 @@ char *PIL_dynlib_get_error_as_string(PILdynlib* lib) {
        int err;
 
        /* if lib is NULL reset the last error code */
+       err= GetLastError();
        if (!lib) {
                SetLastError(ERROR_SUCCESS);
-               return NULL;
+               err = ERROR_SUCCESS;
        }
 
-       err= GetLastError();
        if (err) {
                static char buf[1024];
 
@@ -96,7 +96,7 @@ char *PIL_dynlib_get_error_as_string(PILdynlib* lib) {
                        return buf;
        }
        
-       return NULL;
+       return "unrecognized error";
 }
 
 void PIL_dynlib_close(PILdynlib *lib) {