2009-01-20 Darin Adler <darin@apple.com>
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Jan 2009 07:25:08 +0000 (07:25 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Jan 2009 07:25:08 +0000 (07:25 +0000)
        Reviewed by Alexey Proskuryakov.

        Bug 23450: string leaks seen in DumpRenderTree accessibility test code
        https://bugs.webkit.org/show_bug.cgi?id=23450

        * DumpRenderTree/AccessibilityUIElement.cpp:
        (isAttributeSettableCallback): Add the missing JSStringRelease call.
        (attributeValueCallback): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@40083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp

index b5f2502..c2b4473 100644 (file)
@@ -1,3 +1,14 @@
+2009-01-20  Darin Adler  <darin@apple.com>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Bug 23450: string leaks seen in DumpRenderTree accessibility test code
+        https://bugs.webkit.org/show_bug.cgi?id=23450
+
+        * DumpRenderTree/AccessibilityUIElement.cpp:
+        (isAttributeSettableCallback): Add the missing JSStringRelease call.
+        (attributeValueCallback): Ditto.
+
 2009-01-20  Pierre-Olivier Latour  <pol@apple.com>
 
         Reviewed by Darin Adler.
index e4c194b..c3f8867 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2009 Apple Inc. All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -153,9 +153,11 @@ static JSValueRef isAttributeSettableCallback(JSContextRef context, JSObjectRef
 {
     JSStringRef attribute = NULL;
     if (argumentCount == 1)
-        attribute = JSValueToStringCopy(context, arguments[0], exception);
-    
-    return JSValueMakeNumber(context, toAXElement(thisObject)->isAttributeSettable(attribute));
+        attribute = JSValueToStringCopy(context, arguments[0], exception);    
+    JSValueRef result = JSValueMakeNumber(context, toAXElement(thisObject)->isAttributeSettable(attribute));
+    if (attribute)
+        JSStringRelease(attribute);
+    return result;
 }
 
 static JSValueRef attributeValueCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
@@ -163,8 +165,10 @@ static JSValueRef attributeValueCallback(JSContextRef context, JSObjectRef funct
     JSStringRef attribute = NULL;
     if (argumentCount == 1)
         attribute = JSValueToStringCopy(context, arguments[0], exception);
-    
-    return JSValueMakeString(context, toAXElement(thisObject)->attributeValue(attribute));
+    JSValueRef result = JSValueMakeString(context, toAXElement(thisObject)->attributeValue(attribute));
+    if (attribute)
+        JSStringRelease(attribute);
+    return result;
 }
 
 static JSValueRef cellForColumnAndRowCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)